了解消息的处理流程

xmakbtuz  于 2021-06-24  发布在  Storm
关注(0)|答案(3)|浏览(343)

1.我有一个拓扑(1个喷口和3个螺栓)和3台机器(1个nimbus和2个worker节点)。我想在所有3个节点上运行我的拓扑还是在nimbus上运行就足够了?是不是nimbus负责将代码分发给其他节点?
2.我的喷口将在nimbus或任何工作节点上运行?
3.3个螺栓在3个独立节点上运行还是在同一节点上运行?它会被nimbus照顾吗?
4.如何跟踪插销节点的处理?
5.是否有任何文件可用于理解在storm中处理消息的完整流程?

a64a0gku

a64a0gku1#

nimbus负责分发作业,但所有代码(包括喷口或螺栓)都将在工作节点上运行。
您应该能够通过storm ui跟踪螺栓的进度。此外,您还可以记录一些消息来检查数据的处理流。

jdg4fx2g

jdg4fx2g2#

答案:
nimbus只是维护了拓扑结构。像部署主jar之类的任务是nimbus所做的,但是nimbus本身不做任何与拓扑相关的处理。所以你肯定需要工作节点。拥有多个工作节点总是好的,这样storm拓扑就可以抵御任何工作节点的故障。启动nimbus节点时,需要指定nimbus服务器,然后它会自动选择要在此工作节点上运行的拓扑jar。
正如第一点所提到的,nimbus只是一个执行任务的管理器,而spout只在worker节点上运行。
关于你的第三个问题,我建议你读一下http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/
查看storm ui当您启动storm处理时,它会告诉您管道中的每个步骤是如何执行的,因此您可以在查看之后调整每个步骤的并行性。
要详细了解storm,请阅读github上的storm教程https://github.com/nathanmarz/storm/wiki/_pages

rta7y2nd

rta7y2nd3#

我有一个拓扑(1个喷口和3个螺栓)和3台机器(1个nimbus和2个worker节点)。我想在所有3个节点上运行我的拓扑还是在nimbus上运行就足够了?
使用多个节点可以让您在集群中分配负载,因此使用多个节点而不是一个节点肯定是有益的。此外,如果节点出现故障,nimbus将能够将任务重新分配给另一台机器。但是,可以在单个节点中设置storm,并且所有内容都可以在单个计算机上运行。
是不是nimbus负责将代码分发给其他节点?

我的喷口将运行在nimbus或任何工作节点上
从属节点负责运行或执行拓扑,它们运行一个名为 Supervisor 3个螺栓在3个独立节点上运行还是在同一节点上运行?它会被nimbus照顾吗?
分发由nimbus(主节点)负责,nimbus负责在集群中分发代码,为机器分配任务,并监视故障。
如何跟踪插销节点的处理?
storm提供了一个基于web的用户界面,可以选择在主节点上启动(运行nimbus守护进程)。storm ui通过显示群集级别和拓扑级别的诊断,提供了群集状态的基本概述。同样可以使用以下命令


# cd /path/to/storm/install/dir

    # bin/storm ui

默认情况下,它在 8080 使用 http://nimbus_host:8080/ 浏览器中的url。
是否有任何文档可用于理解storm中处理消息的完整流程?
storm wiki页面是学习和理解storm工作的好地方。您还可以按照基本教程了解更多详细信息

相关问题