Apache storm Apache Storm 2.1.0内存相关配置
我们正在从1.1.x迁移到2.1.0 在我们当前的设置中,storm.yaml中有以下内存配置Apache storm Apache Storm 2.1.0内存相关配置,apache-storm,topology,apache-storm-topology,storm-topology,apache-storm-configs,Apache Storm,Topology,Apache Storm Topology,Storm Topology,Apache Storm Configs,我们正在从1.1.x迁移到2.1.0 在我们当前的设置中,storm.yaml中有以下内存配置 nimbus.childopts: -Xmx2048m supervisor.childopts: -Xmx2048m worker.childopts: -Xmx16384m 我在中看到许多其他与内存相关的配置,并对它们提出以下问题 worker.childopts和topology.worker.childopts之间有什么区别?如果我们在storm.yaml中设置worker.childopt
nimbus.childopts: -Xmx2048m
supervisor.childopts: -Xmx2048m
worker.childopts: -Xmx16384m
我在中看到许多其他与内存相关的配置,并对它们提出以下问题
如果有人能解释这些观点,我将不胜感激。我最近自己也处理了一些配置,因此我在这里分享我的见解:
worker.childopts
vstopology.worker.childopts
-第一个参数为所有worker设置childopts。第二个参数可用于覆盖各个拓扑的参数,例如通过使用conf.put(Config.TOPOLOGY\u WORKER\u CHILDOPTS,“someJvmArgsHere”)代码>
worker.childopts
的默认值是“-Xmx%HEAP-MEM%m-XX:+PrintGCDetails-Xloggc:artifacts/gc.log-XX:+PrintGCDateStamps-XX:+PrintGCTimeStamps-XX:+usegcFileRotation-XX:NumberOfGCLogFiles=10-XX:GCLogFileSize=1M-XX:+heapdumponAutofmemoryError-XX:HeapDumpPath=artifacts/heapdump”
。请注意第一个参数,它包括一个替换模式%HEAP-MEM%
。此模式将替换为您为worker.heap.memory.mb
配置的任何模式。您可以从Java中的拓扑配置中重写后一个参数,因此我猜他们以这种方式构建它,以便能够快速修改各个拓扑的Java堆。我注意到的一件事是,在重写时,只有在至少一个喷口或螺栓配置了.setMemoryLoad(int-heapSize)
时,storm才会使用重写值
拓扑.component.resources.onheap.memory.mb
小于worker.childopts
中为-Xmx配置的值。如何找到拓扑.component.resources.onheap.memory.mb的好值取决于对拓扑组件内存消耗的测试和了解。例如,我有一个从redis接收元组并发出它们的拓扑。如果螺栓很忙,元组可能会堆积在管口中,因此我在内存方面为它配置了一些空间。但是,我通常不会修改拓扑.component.resources.onheap.memory.mb,而是使用拓扑组件的setMemoryLoad(int-heapSize)
方法,因为这允许为拓扑的各个组件设置不同的值。此主题和相关主题的Storm文档如下所示
我最近亲自处理了其中一些配置,因此我在这里分享我的见解:
worker.childopts
vstopology.worker.childopts
-第一个参数为所有worker设置childopts。第二个参数可用于覆盖各个拓扑的参数,例如通过使用conf.put(Config.TOPOLOGY\u WORKER\u CHILDOPTS,“someJvmArgsHere”)代码>
worker.childopts
的默认值是“-Xmx%HEAP-MEM%m-XX:+PrintGCDetails-Xloggc:artifacts/gc.log-XX:+PrintGCDateStamps-XX:+PrintGCTimeStamps-XX:+usegcFileRotation-XX:NumberOfGCLogFiles=10-XX:GCLogFileSize=1M-XX:+heapdumponAutofmemoryError-XX:HeapDumpPath=artifacts/heapdump”
。请注意第一个参数,它包括一个替换模式%HEAP-MEM%
。此模式将替换为您为worker.heap.memory.mb
配置的任何模式。您可以从Java中的拓扑配置中重写后一个参数,因此我猜他们以这种方式构建它,以便能够快速修改各个拓扑的Java堆。我注意到的一件事是,在重写时,只有在至少一个喷口或螺栓配置了.setMemoryLoad(int-heapSize)
时,storm才会使用重写值
拓扑.component.resources.onheap.memory.mb
小于worker.childopts
中为-Xmx配置的值。如何找到拓扑.component.resources.onheap.memory.mb的好值取决于对拓扑组件内存消耗的测试和了解。例如,我有一个从redis接收元组并发出它们的拓扑。如果螺栓很忙,元组可能会堆积在管口中,因此我在内存方面为它配置了一些空间。但是,我通常不会修改拓扑.component.resources.onheap.memory.mb,而是使用拓扑组件的setMemoryLoad(int-heapSize)
方法,因为这允许为拓扑的各个组件设置不同的值。此主题和相关主题的Storm文档如下所示