风暴群中工人的配置

sy5wg1nm  于 2021-06-24  发布在  Storm
关注(0)|答案(4)|浏览(414)

我有一个关于工作进程配置的问题。
我已经了解了worker进程在worker节点(这是一台机器)中运行。我想知道的是,是否所有工作进程都共享同一个jvm,或者每个工作进程都有自己的jvm示例?如果后者是真的,那么我想应该设置每个进程必须使用多少内存!那么这种配置将在哪里完成呢?

pftdvrlh

pftdvrlh1#

每个storm worker进程都在自己的jvm中运行。可以在conf/storm.yaml配置文件中完成对每个辅助进程的内存分配。例如:添加/编辑以下参数以将1gb ram分配给每个工作进程:

worker.childopts: "-Xmx1024m"

这将覆盖您通常在机器上所做的任何jvmram设置(比如使用java\u tool\u options)
有关更多风暴配置,请参阅:风暴配置

t1qtbnec

t1qtbnec2#

每个工作节点在自己的jvm上独立运行。但它们可以为一个或多个拓扑运行一个或多个工作进程。
如果后者是真的,那么我想应该设置每个进程必须使用多少内存!那么这种配置将在哪里完成呢?
如果您打算设置jvm参数,那么按照这里的讨论进行

tp5buhyn

tp5buhyn3#

在storm.yaml中配置worker.childopts=“-xmx4048m”。
如果可用的话,每个工作进程将从ram中获得那么多内存。

yfjy0ee7

yfjy0ee74#

工作进程执行拓扑的子集,并在自己的jvm中运行。
辅助进程属于特定拓扑,可以为此拓扑的一个或多个组件(喷口或螺栓)运行一个或多个执行器。
执行器是由工作进程派生并在工作进程的jvm中运行的线程。
执行器可以为同一组件(喷口或螺栓)运行一个或多个任务。
一个执行器总是有一个线程用于它的所有任务,这意味着任务在一个执行器上串行运行。
所以可以说,所有的工作进程都将运行在同一个jvm上,只属于一个特定的工作节点。

相关问题