1.我有一个拓扑(1个喷口和3个螺栓)和3台机器(1个nimbus和2个worker节点)。我想在所有3个节点上运行我的拓扑还是在nimbus上运行就足够了?是不是nimbus负责将代码分发给其他节点?
2.我的喷口将在nimbus或任何工作节点上运行?
3.3个螺栓在3个独立节点上运行还是在同一节点上运行?它会被nimbus照顾吗?
4.如何跟踪插销节点的处理?
5.是否有任何文件可用于理解在storm中处理消息的完整流程?
1.我有一个拓扑(1个喷口和3个螺栓)和3台机器(1个nimbus和2个worker节点)。我想在所有3个节点上运行我的拓扑还是在nimbus上运行就足够了?是不是nimbus负责将代码分发给其他节点?
2.我的喷口将在nimbus或任何工作节点上运行?
3.3个螺栓在3个独立节点上运行还是在同一节点上运行?它会被nimbus照顾吗?
4.如何跟踪插销节点的处理?
5.是否有任何文件可用于理解在storm中处理消息的完整流程?
3条答案
按热度按时间a64a0gku1#
nimbus负责分发作业,但所有代码(包括喷口或螺栓)都将在工作节点上运行。
您应该能够通过storm ui跟踪螺栓的进度。此外,您还可以记录一些消息来检查数据的处理流。
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
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通过显示群集级别和拓扑级别的诊断,提供了群集状态的基本概述。同样可以使用以下命令
默认情况下,它在
8080
使用http://nimbus_host:8080/
浏览器中的url。是否有任何文档可用于理解storm中处理消息的完整流程?
storm wiki页面是学习和理解storm工作的好地方。您还可以按照基本教程了解更多详细信息