我有一个关于工作进程配置的问题。我已经了解了worker进程在worker节点(这是一台机器)中运行。我想知道的是,是否所有工作进程都共享同一个jvm,或者每个工作进程都有自己的jvm示例?如果后者是真的,那么我想应该设置每个进程必须使用多少内存!那么这种配置将在哪里完成呢?
pftdvrlh1#
每个storm worker进程都在自己的jvm中运行。可以在conf/storm.yaml配置文件中完成对每个辅助进程的内存分配。例如:添加/编辑以下参数以将1gb ram分配给每个工作进程:
worker.childopts: "-Xmx1024m"
这将覆盖您通常在机器上所做的任何jvmram设置(比如使用java\u tool\u options)有关更多风暴配置,请参阅:风暴配置
t1qtbnec2#
每个工作节点在自己的jvm上独立运行。但它们可以为一个或多个拓扑运行一个或多个工作进程。如果后者是真的,那么我想应该设置每个进程必须使用多少内存!那么这种配置将在哪里完成呢?如果您打算设置jvm参数,那么按照这里的讨论进行
tp5buhyn3#
在storm.yaml中配置worker.childopts=“-xmx4048m”。如果可用的话,每个工作进程将从ram中获得那么多内存。
yfjy0ee74#
工作进程执行拓扑的子集,并在自己的jvm中运行。辅助进程属于特定拓扑,可以为此拓扑的一个或多个组件(喷口或螺栓)运行一个或多个执行器。执行器是由工作进程派生并在工作进程的jvm中运行的线程。执行器可以为同一组件(喷口或螺栓)运行一个或多个任务。一个执行器总是有一个线程用于它的所有任务,这意味着任务在一个执行器上串行运行。所以可以说,所有的工作进程都将运行在同一个jvm上,只属于一个特定的工作节点。
4条答案
按热度按时间pftdvrlh1#
每个storm worker进程都在自己的jvm中运行。可以在conf/storm.yaml配置文件中完成对每个辅助进程的内存分配。例如:添加/编辑以下参数以将1gb ram分配给每个工作进程:
这将覆盖您通常在机器上所做的任何jvmram设置(比如使用java\u tool\u options)
有关更多风暴配置,请参阅:风暴配置
t1qtbnec2#
每个工作节点在自己的jvm上独立运行。但它们可以为一个或多个拓扑运行一个或多个工作进程。
如果后者是真的,那么我想应该设置每个进程必须使用多少内存!那么这种配置将在哪里完成呢?
如果您打算设置jvm参数,那么按照这里的讨论进行
tp5buhyn3#
在storm.yaml中配置worker.childopts=“-xmx4048m”。
如果可用的话,每个工作进程将从ram中获得那么多内存。
yfjy0ee74#
工作进程执行拓扑的子集,并在自己的jvm中运行。
辅助进程属于特定拓扑,可以为此拓扑的一个或多个组件(喷口或螺栓)运行一个或多个执行器。
执行器是由工作进程派生并在工作进程的jvm中运行的线程。
执行器可以为同一组件(喷口或螺栓)运行一个或多个任务。
一个执行器总是有一个线程用于它的所有任务,这意味着任务在一个执行器上串行运行。
所以可以说,所有的工作进程都将运行在同一个jvm上,只属于一个特定的工作节点。