2016-05-19 16 views
0

是否可以监控Apache Storm发送给nimbus的心跳事件?监控Apache Storm心跳/状态::不允许

我目前遇到了一个问题,我的工人得到看似随机地重新分配,虽然我们没有看到在CPU的任何明显的峰值,内存,I/O或网络使用跨越这可能表明一个瓶颈集群。我能够监控这个的唯一方法是检查supervisor.log文件(Shutting down and clearing id xxx. Current supervisor time: 123. State: :disallowed, Heartbeat: { ... })和应用程序结果中的不当行为。 Storm UI中没有错误,工作日志中没有堆栈跟踪(例如内存不足或其他)。

在小型4节点集群上运行Storm 0.10,其中有〜12名工人和〜650名执行者。工人的最大JVM RAM/childopts设置为4096MiB,这不应该导致有趣的GC/GC结果。

回答

0

事实上,任务心跳正在将他们的内置指标写入Zookeeper,而Nimbus从Zookeeper读取它们。

当Storm集群中的任务太多时,可能会发生重写ZK,从而导致ZK过载,从而导致不能及时写入/读取心跳。所以当你发现ZK是瓶颈时,你需要监视Zookeeper并采取适当的行动。