2015-11-27 25 views
3

我有一个奇怪的问题。我使用apache 0.10.0风暴版本和3.5.1 zookeeper版本。我在同一个网络上有4个不同的vms。风暴工人连接

我开始:2181,第1虚拟机(IP XXX.XXX.5.60)

灵气& UI,第二个虚拟机(IP XXX.XXX.5.61)

主管:

在本地主机饲养员1第三虚拟机和第四虚拟机监控器4(ips XXX.XXX.5.67 & XXX.XXX.5.68)。

这是雨云的storm.yaml:

storm.zookeeper.servers: 
- "XXX.XXX.5.60" 
nimbus.host: "XXX.XXX.5.61" 
storm.local.dir: "/home/stresstest/data" 

这是上司的storm.yaml:

storm.zookeeper.servers: 
- "XXX.XXX.5.60" 
nimbus.host: "XXX.XXX.5.61" 
storm.local.dir: "/home/stresstest/data" 
supervisor.slots.ports: 
- 6700 

当我看到动物园管理员接受了连接正常:

2015-11-27 04:16:06,438 [myid:] - 信息 [SyncThread:0:ZooKeeperServer @ 678] - 已建立会话 0x1000000d4ad000b与协商的超时20000为客户端 /XXX.XXX.5.67:41315 2015-11-27 04:16:06,439 [myid:] - 信息 [SyncThread:0:ZooKeeperServer @ 678] - 建立会话 0x1000000d4ad000c与协商超时20000为客户端 /XXX.XXX.5.68:59833

正如您在上面看到每个主管有1个工人。从用户界面的网站我看到,我有2 Supervisors和2总插槽。当我向Nimbus提交拓扑时,它会消耗1名工作人员。

问题从这里开始。当我重新平衡拓扑消耗2名工人这样它:

号主机的正常运行时间插槽使用的插槽

版本

b38878ae-8eea-4265-9c98-2b6db1ef0bb0 vlan5-dhcp105.xxx.gr18米31S 1 1 0.10.0

d463df62-5d18-460f-86f4-18dff93f544a vlan5-dhcp105.xxx.gr 13米55S 1 1 0.10.0

看来,拓扑使用2名工人,但其同样一。 工人主管似乎对于两名工人/主管都是一样的。因此,当我将数据发送到Nimbus时,只有一名工作人员正在处理数据,另一名工作人员正在等待数据(两名工作人员都下载了拓扑)。这是为什么发生?

回答

0

我设法解决这个问题。两位主管拥有相同的主机名(它通过了Xen Hypervisor的初始化),所以我相信这些虚拟机是彼此冲突的。当我改变了一个虚拟主机的主机名时,它就起作用了。

0

我在我们的项目中遇到了同样的问题,结果发现,我们不能通过重新平衡命令来增加工作人员的数量。重新平衡仅用于减少我们使用的工人数量。例如,在拓扑启动器中,将工作者数量设置为2,并且可以使用重新平衡-n 1命令将拓扑重新平衡到1个工作人员。并行数提示(executors)可以使用重新平衡命令增加或减少。

+0

我认为拓扑结构的异步重新平衡是风暴的关键特征。我在Azure上运行了相同的拓扑结构(具有相同数量的虚拟机)并且运行非常流畅。 –

+0

@ΒασιληςΙωσηφιδης嗨,你使用Java或任何其他语言。看起来我们正处于相同的轨道上。 – Prabhu

0

可能是因为使用了相同的storm.local。nimbus和主管的目录路径只是改变你的主管的路径使用不同的路径,并尝试重新平衡它,我认为它会工作。