为storm中的拓扑增加分配的内存

m0rkklqb  于 2021-06-24  发布在  Storm
关注(0)|答案(2)|浏览(399)

我有一个10节点的集群,每台机器有8gbram,当我运行我的拓扑时,分配的内存总是与工作者的数量成比例的。每个工人大约占用1 gb的内存。我想为我试图在storm.yaml中设置为的每个工人分配2GB worker.childopts: "-Xmx6g -Xms6g" 因为我在每个节点上运行三个worker。但是分配的内存减少到1GB以下。
如何更好地调整拓扑?
我的一个螺栓出现以下错误
java.lang.outofmemoryerror:java.nio.heapbytebuffer处的java堆空间。java:57)在java.nio.bytebuffer.allocate(bytebuffer。java:335)访问org.apache.kafka.common.memory.memorypo

qaxu7uf2

qaxu7uf21#

我认为你的配置有点错误。这个 worker.childopts 设置被传递给每个worker jvm,所以当您设置 -Xmx6g -Xms6g 您将为三个worker中的每一个提供6 Gig的内存(节点总共18 Gig)

djmepvbi

djmepvbi2#

您可以引用此链接https://github.com/apache/storm/blob/master/conf/defaults.yaml
i配置2参数:

worker.heap.memory.mb: 768
supervisor.memory.capacity.mb: 4096.0

如果你有10个工人,你必须配置 supervisor.memory.capacity.mb =(768 x 10)它是主管的能力

相关问题