【发布时间】:2019-04-04 05:27:24
【问题描述】:
Storm 可以使用 setMemoryLoad 函数来配置每个组件(bolt/spout)的内存大小。工作进程如何对每个执行程序/任务强制执行此约束,因为它们都在同一个 JVM 中?
【问题讨论】:
-
所有的executor和task一般不在同一个JVM中?也许我误解了你,但任务通常分布在许多 JVM 中。
-
假设我有一个只有一个节点、一个工人(插槽)和 2 个螺栓的拓扑。 builder.setBolt("A", new BoltA(), 1).setMemoryLoad(512.0); builder.setBolt("B", new BoltB(), 1).setMemoryLoad(1024.0);两个执行器都将在同一个worker(JVM)中的2个不同线程中运行,但内存分配给JVM进程而不是线程。所以我不明白每个线程的内存分配是如何完成的@StigRohdeDøssing
标签: apache-storm