1.我有一个拓扑结构(1个喷口和3个螺栓)和3个机器(1个nimbus和2个工作节点)。我是想在所有3个节点上运行拓扑还是在nimbus上运行就足够了?是不是nimbus会将代码分发给其他节点?
2.我的喷口是否会在nimbus或任何工作节点上运行?
3. 3个螺栓在3个独立的节点上运行或在同一节点上运行?是不是会受到雨云的照顾?
4.我们如何跟踪节点中螺栓的处理?
5.是否可以使用任何文档来了解在Storm中处理邮件的完整流程?
答案 0 :(得分:0)
数目:
Nimbus只维护拓扑。像部署主jar等任务是nimbus所做的,但是nimbus本身不进行任何与拓扑相关的处理。所以你肯定需要工作节点。拥有多个工作节点总是好的,这样风暴拓扑可以抵御任何失败的工作者。启动nimbus节点时,需要指定nimbus服务器,然后自动选择要在此工作节点上运行的拓扑jar。
正如第一点所述,nimbus只是一个管理任务的经理,只有工作节点才会运行spout。
对于您的第三个问题,我建议您阅读此http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/
在开始风暴处理时查看storm-ui,它会告诉您管道中的每个步骤是如何执行的,因此您可以在查看后调整每个步骤的并行度。
详细了解风暴请浏览github上的风暴教程https://github.com/nathanmarz/storm/wiki/_pages
答案 1 :(得分:0)
我有一个拓扑结构(1个喷口和3个螺栓)和3个机器(1个nimbus和2个工作节点)。我是想在所有3个节点上运行拓扑还是在nimbus上运行就足够了?
使用多个节点允许您在群集中分配负载,所以这肯定有利于拥有多个节点而不是一个。并且在节点发生故障的情况下,nimbus将能够将任务重新分配给另一台机器。但是,可以在单个节点中设置风暴,并且所有内容都可以在一台计算机上运行。
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/
网址进行查看。
是否有任何文档可用于了解Storm中处理邮件的完整流程?
Storm Wiki页面是学习和理解风暴工作的好地方。您还可以关注basic tutorial了解详情
答案 2 :(得分:0)
nimbus负责分配作业,但所有代码(包括喷口或螺栓)都将在工作节点上运行。
您应该能够通过风暴UI跟踪螺栓的进度。另外,您可以记录一些消息以检查数据的处理流程。