0

我将 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

不同形式的ui: 1.1.1 2.2.1

我发现主管在启动工作进程时给出了参数“-Dworker.memory_limit_mb=24448”,但它与我的 worker.childopts 设置不匹配。

此拓扑有 7600 个执行器/任务,运行在 40 个插槽上,因此每个插槽需要运行 380 个执行器/任务。在 v1.1.1 中,一切正常,但在 v2.2.1 中,似乎没有配置限制每个工作人员的内存,工作人员将分配 executors* topology.component.resources.onheap.memory.mb(default 128)

如何在 Apache Storm (2.2.1) 中设置工作内存限制或关闭 Resource Aware Scheduler ?

4

0 回答 0