监视apache风暴心跳/状态::不允许

piwo6bdm  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(354)

有没有可能监视apache storm发送到nimbus的心跳事件?
我目前遇到了一个问题,我的工作人员似乎被随机重新分配,尽管我们没有看到集群中cpu、ram、i/o或网络使用率出现任何明显的峰值,这可能表明存在瓶颈。我唯一能够监视它的方法是在检查supervisor.log文件时( Shutting down and clearing id . Current supervisor time: 123. State: :disallowed, Heartbeat: { ... } )以及应用程序结果中的错误行为。storm ui中没有错误,工作日志中没有stacktraces(例如内存不足或其他任何情况)。
在一个小的4节点集群上运行storm 0.10,有12个工人和650个执行者。worker的maxjvmram/childopts设置是4096mib,它不应该使用gc呈现有趣的结果。

brgchamk

brgchamk1#

事实上,任务heartbeat是通过向zookeeper写入它们的内置度量来完成的,nimbus从zookeeper读取它们。
当storm集群中有太多任务时,可能会发生对zk的大量写入,这使得zk过载,导致写/读心跳不及时。所以当你发现zk是瓶颈时,你需要监视zookeeper并采取适当的措施。

相关问题