我对风暴有疑问,现在就是这样:
多个主管可以在单个节点上运行吗?或者我们只能在一台机器上运行一个主管?
感谢。
答案 0 :(得分:2)
原则上,每1台物理机器应该有1个Supervisor守护程序。为什么?
答案:如果nimbus在重启尝试时永久失败,Nimbus会收到Supervisor守护程序的心跳并尝试重新启动它以防主管死机。 Nimbus将把这份工作分配给另一位主管。 想象一下,两名主管同时从同一台物理机器下降,容错能力差!!
运行两个Supervisor守护进程也会浪费内存资源。
如果您拥有非常高的内存计算机,只需在storm.yaml中添加更多端口,而不是添加supervisor.slots.ports,即可增加工作人员数量。
答案 1 :(得分:1)
可以在一台主机上运行多个主管。在storm-user邮件列表中查看此post。
只需复制多个Storm,并更改storm.yaml即可指定 每个主管的不同端口(supervisor.slots.ports)
答案 2 :(得分:1)
理论上可行 - 实际上你可能不需要这样做 - 除非你正在进行PoC /演示。我通过制作风暴的多个副本并更改其中一个主管的端口为我给出的演示之一做了这个 - 你可以通过改变supervisors.slots.ports来实现。
答案 3 :(得分:1)
它基本上是按节点设计的。所以一个节点应该只有一个主管。此守护程序处理您基于端口配置的工作进程数。
因此,每个节点不需要额外的supervisor守护进程。
答案 4 :(得分:0)
Supervisor按节点配置。在单个节点上运行多个管理程序没有多大意义。 supervisor
守护程序的唯一目的是启动/停止工作进程(这些工作程序中的每一个都负责运行拓扑的子集)。来自doc页面..
主管监听分配给其机器的工作,并根据Nimbus为其分配的内容,根据需要启动和停止工作进程。