我已经在一个5节点集群中安装了storm-0.9.2。我有一个简单的拓扑结构,有一个喷口和不同数量的螺栓(4,9,22,31)。对于我配置的每个配置(#bolts+1)worker。因此,对于4个螺栓,我有5个工人,22个螺栓,23个工人,等等。
我在worker日志文件中观察到失败的worker进程,在zookeeper.out日志文件中出现相应的endofstream异常。当我得到一个干净的测试运行时,每个bolt处理的元组的数量均匀地分布在每个worker上。在非干净的测试运行中,失败的worker尝试重新连接,但是由于元组的数量是有限的,因此没有更多的元组要处理。
工作进程死亡的可能原因是什么?
从zookeeper.out日志文件摘录:
* 2014-10-27 17:40:33,198 [myid:] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@357] - caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid 0x1495431347c001e, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)
at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
at java.lang.Thread.run(Thread.java:744)
2014-10-27 17:40:33,201 [myid:] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1007] - Closed socket connection for client /192.168.0.1:45693 which had sessionid 0x1495431347c001e*
群集环境:
风暴0.9.2
Zookeeper3.4.6
ubuntu 13.10版
1条答案
按热度按时间gt0wga4j1#
在我看来,你的Zookeeper有问题。有几个想法:
您的zookeeper超时配置太小。
zookeeper示例没有足够的子对象(从属对象)来处理您的工作负载。
对于诊断,首先增加zookeeper示例的默认超时。如果不起作用,请尝试扩展zookeeper集群。
您可以合并zookeeper文档。如果这能解决你的问题,请告诉我们。