我有3个节点的风暴群:监督者-2,Nimbus-1。 3个节点有30 Gb的Ram和4个cpu核心。在我配置的配置中:
supervisor.slots.ports : 8 (6700-6708)
supervisor.childopts :-Xmx4096m _JAAS_PLACEHOLDER
ui.childopts :-Xmx1024m _JAAS_PLACEHOLDER
nimbus.childopts :-Xmx6144m _JAAS_PLACEHOLDER
我想知道:
答案 0 :(得分:2)
答案 1 :(得分:0)
为了能够按每个组件(螺栓/喷口)设置所请求的资源(RAM和CPU)以及每个节点上的可用资源,您可以使用this scheduler。这样你可以指定可用的RAM&每个节点上的CPU,并确定应为每个工作进程分配多少资源。
setMemoryLoad(Number onHeap):
builder.setBolt("exclaim1", new ExclamationBolt(), 3)
.shuffleGrouping("word").setMemoryLoad(512.0);
setCPULoad(双倍金额):
builder.setBolt("exclaim2", new HeavyBolt(), 1)
.shuffleGrouping("exclaim1").setCPULoad(450.0);
将此参数添加到 storm.yaml
supervisor.memory.capacity.mb: [amount<Double>]
supervisor.cpu.capacity: [amount<Double>]
有关调度过程如何完成的更多详细信息,您可以阅读this article