2013-10-09 2 views
2

У меня есть сервер nimbus и 3 узловых места.шторм умирает, когда определенные узлы зоопарка сбой

Мой файл storm.yaml выглядит следующим образом:

storm.zookeeper.servers: 
- "server1" 
- "server2" 
- "server3" 

nimbus.host: "nimbus-server" 

storm.local.dir: "/var/storm" 

Мои файлы zoo.cfg все выглядеть следующим образом:

tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=/var/zookeeper 
clientPort=2181 
autopurge.snapRetainCount=3 
autopurge.purgeInterval=1 
server.3=server1:2888:3888 
server.4=server2:2888:3888 
server.5=server3:2888:3888 

Когда все три Zookeeper узлы работают, все в порядке в соответствии с storm_ui. Если я отключу один из этих трех узлов, сервер nimbus жалуется, что он не может подключиться к кластеру zookeeper и он умирает. Я не могу найти, почему это может произойти. В документации говорится, что, если у меня есть три узла zookeeper, он должен терпеть одного из них, умирающего. Есть ли что-то, что должно быть установлено в одном из них, чтобы это работало?

ответ

2

Это оказалось iptables. Никогда не было кворума между серверами zookeeper, поэтому по сути, после того, как я остановился, он вел себя так, как должен. Я открыл порт 2181, 2888 и 3888 на одном сервере, который их не открывал, и теперь я могу убить одного из них с бурей еще живым.