我在5节点集群中安装了storm-0.9.2。我有一个简单的拓扑结构,带有1个喷口和不同数量的螺栓(4,9,22,31)。对于我配置的每个配置(#bolts + 1)工作人员。因此,对于4个螺栓,我有5个工人,22个螺栓和23个工人等。
我在zookeeper.out日志文件中观察到工作日志文件中的失败工作进程以及相应的EndOfStream异常。当我得到一个干净的测试运行时,每个螺栓处理的元组数量均匀分布在每个工作者上。在非干净的测试运行中,失败的工作者尝试重新连接,但是由于元组的数量是有限的,因此没有更多的元组要处理。
工人流程死亡的可能原因是什么?
摘自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 :(得分:0)
对我来说,看起来你的Zookeeper存在问题。有几个想法:
要进行诊断,请先增加Zookeeper实例的默认超时时间。如果它不起作用,请尝试扩展Zookeeper群集。
您可以整合Zookeeper文档。如果能解决您的问题,请告诉我们。