Можно ли увеличить параллелизм динамического запуска топологии Storm - PullRequest
0 голосов
/ 30 ноября 2018

Версия Storm: 1.2.1

Что касается ссылки здесь , следующий синтаксис для балансировки топологии шторма:

storm rebalance topology-name [-w wait-time-secs] [-n new-num-workers] [-e component=parallelism]*

У меня есть простая топология, где у меня есть какой-то болт BoltB, работающий с параллелизмом 5 и numTasks = 1, я выполнил следующую команду:

storm rebalance myTopo -n 5(same as earlier) -w 20 -e BoltB=10

Он деактивировал топологию, но активировал ее с тем же числом параллелизмадля BoltB, я что-то упустил, это должно работать таким образом, мне нужно будет иметь numTasks для BoltB выше, чтобы достичь этого?

1 Ответ

0 голосов
/ 04 декабря 2018

Пожалуйста, прочитайте http://storm.apache.org/releases/2.0.0-SNAPSHOT/Understanding-the-parallelism-of-a-Storm-topology.html.

Суть в том, что число задач для компонента в топологии Storm является статическим после отправки топологии.Таким образом, если вы выполните setNumTasks(1) для boltB в настройках своей топологии, тогда будет только 1 экземпляр boltB, что означает, что одновременно будет работать только 1 поток boltB.

Вы можете думать о задачах как об ограничении количества потоков, на которые вы можете распределить boltB без повторного развертывания.Storm создает экземпляр вашего болта для каждой задачи, а затем распределяет их по всем потокам, которые вы указали использовать с помощью параметра parallelism_hint во время установки.

parallelism_hint устанавливает начальное количество исполнителей (резьб) для болта.Количество исполнителей можно изменить без повторного развертывания топологии с помощью команды rebalance, но вы не можете увеличить число исполнителей выше, чем количество задач.

...