【发布时间】:2022-06-17 00:40:14
【问题描述】:
我将 Apache Storm 从 1.1.1 更新到 2.2.1,使用相同的配置和拓扑。 但是 2.2.1 不能启动工作进程。 这是我的配置:
worker.childopts: "-Xms1g -Xmx3g -Xmn378m -XX:SurvivorRatio=2 -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=65"
nimbus.thrift.max_buffer_size: 52428800
topology.eventlogger.executors: 1
以及 nimbus.log 中的日志:
2022-02-16 11:27:23.862 o.a.s.d.n.Nimbus timer [WARN] Negative fragmented CPU on 9b7291a5-23f3-4a47-b5ec-34447a8acc85-172.18.12.X
2022-02-16 11:27:23.862 o.a.s.d.n.Nimbus timer [WARN] Negative fragmented Mem on 9b7291a5-23f3-4a47-b5ec-34447a8acc85-172.18.12.X
2022-02-16 11:27:23.862 o.a.s.d.n.Nimbus timer [WARN] Negative fragmented CPU on 9676b22b-b30d-4277-8a42-fec17ef53aa1-172.18.12.X
2022-02-16 11:27:23.862 o.a.s.d.n.Nimbus timer [WARN] Negative fragmented Mem on 9676b22b-b30d-4277-8a42-fec17ef53aa1-172.18.12.X
我发现主管在启动工作进程时给出了参数“-Dworker.memory_limit_mb=24448”,但它与我的 worker.childopts 设置不匹配。
此拓扑有 7600 个执行器/任务,运行在 40 个插槽上,因此每个插槽需要运行 380 个执行器/任务。在 v1.1.1 中,一切正常,但 v2.2.1 似乎没有配置限制每个工作人员的内存,工作人员将分配 executors*topology.component.resources.onheap.memory.mb(默认 128)强>。
如何在 Apache Storm (2.2.1) 中设置 worker 内存限制或关闭 Resource Aware Scheduler ?
【问题讨论】:
标签: apache-storm apache-storm-topology apache-storm-configs