【问题标题】:Apache Storm - Nimbus, Supervisors, Workers getting stopped silentlyApache Storm - Nimbus、主管、工人被无声地阻止
【发布时间】:2015-10-20 00:43:47
【问题描述】:

我使用的是 Apache Storm 0.9.5 版本和 Java 1.7 我面临以下问题。

所有 STORM 进程突然死亡。 我运行了一次拓扑,观察了 1 到 2 天,没有发送任何数据。 之后,当我看到这些进程时,它们将不再运行。

我还在所有节点的 Storm.yaml 中为 nimbus、主管和工作人员设置了 -XX:MaxPermSize=512m

但是当我看到 GC 日志时,它在说

PSPermGen       total 27136K, used 26865K [0x0000000760000000, 0x0000000761a80000, 0x0000000780000000)
  object space 27136K, 99% used [0x0000000760000000,0x0000000761a3c480,0x0000000761a80000)

只有 27MB 分配给 PermGen 空间。 STORM 不占用 512MB 内存吗?

请告诉我为什么会出现所有这些进程的突然死亡。 谢谢。

【问题讨论】:

  • 您能准确发布一下您是如何更改 PemSize 的吗?
  • 在storm.yaml配置文件中,我们可以指定如下。 ======================= supervisor.childopts: "-Xmx1024m -XX:MaxPermSize=512m" worker.childopts: "-Xmx2048m -XX:MaxPermSize=512m " nimbus.childopts: "-Xmx2048m -XX:MaxPermSize=512m" =======================
  • Nimbus、主管、工人是否留下了错误日志?如果是的话,你能分享一下日志吗?
  • 我也验证了日志。但是日志中没有关于此问题的错误指示。日志似乎是正确的。

标签: apache-storm


【解决方案1】:

增加了一个监控进程“supervisord”来监控主nimbus和supervisros。我采用这种方式,要求进程始终处于启动状态并运行。

由于 Storm 属于快速故障设计类别,因此需要一个单独的监控进程来为 nimbus 和主管进程提供 24/7 的 HA 支持。

【讨论】:

  • 您是否找到任何导致工人静默停止的根本原因?
  • Storm 基本上遵循 fail-fast 设计,因此我们无需搜索运行时错误。只需将监视器进程重新启动即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多