我的storm拓扑在运行了10天之后失败了,当我使用新名称部署相同的拓扑(相同的jar)时,它一直运行良好,所以我的问题是为新部署的storm拓扑(包括zookeeper内存)分配了哪些新资源。如果我用旧名称重新部署拓扑,它将在几个小时内再次失败。在使用新的拓扑名称部署它之前,我没有做任何更改。storm拓扑在运行较长时间后是否需要占用工作节点上的内存空间?
zvokhttg1#
我对storm pre-1.0.0中至少有一个bug很熟悉,它会导致工人上吊。如果您不在最新的storm版本上,请尝试升级。除此之外,调试它的最佳方法是使用 jstack 或者 kill -3 在worker jvm上找出挂起的worker在做什么。如果调试日志记录不会对您的性能造成太大的损害,您可能还需要启用它。你这样做是因为 config.setDebug(true); 设置拓扑时。一旦你知道为什么worker不处理元组,你可以试着在这里发布堆栈跟踪,也许storm中有问题。
jstack
kill -3
config.setDebug(true);
1条答案
按热度按时间zvokhttg1#
我对storm pre-1.0.0中至少有一个bug很熟悉,它会导致工人上吊。如果您不在最新的storm版本上,请尝试升级。
除此之外,调试它的最佳方法是使用
jstack
或者kill -3
在worker jvm上找出挂起的worker在做什么。如果调试日志记录不会对您的性能造成太大的损害,您可能还需要启用它。你这样做是因为config.setDebug(true);
设置拓扑时。一旦你知道为什么worker不处理元组,你可以试着在这里发布堆栈跟踪,也许storm中有问题。