2016-09-01 6 views
0

즉, 병렬 처리가 2이면 볼트가 2 개의 다른 서버에서 실행되고 병렬 처리가 3이면 볼트가 3 개의 다른 서버에서 실행됩니다. 저에게있어 중요한 것은 하나의 서버에서만 모든 작업을 실행하고 싶지 않기 때문에 너무 느릴 것입니다. "노동자의 수를"구성 매개 변수를 증가폭풍 트라이던트를 사용할 때 병렬 처리를 2 이상으로 설정하면 모든 실행 프로그램을 하나의 서버가 아닌 다른 서버에서 실행할 수 있습니까?

답변

0

봅니다 (기본값은 1)

Config cfg = new Config(); 
cfg.setNumWorkers(...); 

를 통해 당신은 또한 storm.yaml의 구성 매개 변수 supersior.slots.ports를 통해 호스트 당 근로자의 수를 제한 할 수 있습니다 - 각 포트에 , 하나의 작업자 JVM을 시작할 수 있으므로이 구성에 하나의 포트만 제공하면 하나의 작업자 JVM 만 시작됩니다. 이 방법으로 실행할 수있는 토폴로지의 수를 제한 할 수 있습니다. 단일 작업자 JVM은 단일 토폴로지의 코드 만 실행하여 서로 토폴로지를 분리합니다.

+0

감사합니다. 실제로 저는 여러분이 말한 것처럼 했었습니다. 그러나 저는 볼트를 찾았습니다. 심지어 노동자의 수를 1 이상으로 설정하고 볼트의 병렬성을 1 이상으로 설정 했더니 하나의 볼트가 단 하나의 서버에서 여러 프로세스를 시작합니다 ... 그것에 대해 무엇이 잘못 되었나요? – winfield

+0

내 대답 확장. –

+0

감사합니다. 유일한 방법은이 작업을 수행하는 것입니까? 우리가 호스트 당 슬롯 번호를 제한하지 않고 실행 프로그램을 다른 서버에서 실행하는 것이 더 좋습니다. :) – winfield