2015-01-15 4 views
1

Есть некоторые ограничения в шторме.Storm - динамическое увеличение числа исполнителей

Не могли бы вы сообщить мне, что нижеследующие пункты действительны и верны.

  1. Количество работников должно быть меньше или равно числу исполнителей
  2. Количество исполнителей должно быть меньше или равно числу задач
  3. Учитывая выше 2 пункта, изменение баланса применяется только для перемещения исполнителей или рабочих к другим узлам и т.д. ...
  4. Ребалансирование не помогает в увеличении задач рассчитывать динамически
  5. так Шторм не полностью масштабируемым согласно вышеуказанным пунктам

-Hariprasad

ответ

4

Вы можете рассматривать tasks в качестве действующего экземпляра болта/носика. Это фиксировано (статическое) и никогда не может быть изменено во время работы топологии? Исполнители фактически являются потоками, которые можно изменять динамически.

если вы задали num tasks = 4 и executors = 2, то каждый поток будет запускать 2 задания. Но задачи выполняются поочередно по исполнителям (каждый поток запускает одну задачу за раз). В результате, даже если у вас есть 4 экземпляра болта, все они не запускаются за один раз. Так что же тогда использовать?

Создание нескольких задач для каждого исполнителя даст вам возможность изменить количество исполнителей с помощью команды rebalance, не убивая топологию. Поэтому в будущем, если вы добавите дополнительный узел в кластер (или по какой-либо причине), вы можете легко изменить количество исполнителей на 4, чтобы теперь для каждой задачи был выделенный поток для обработки (причина, почему #threads <= #tasks истинна, поскольку больше исполнителей, чем задача не даст никакой пользы). Таким образом, теперь каждые 4 экземпляра вашего желоба/болта (называемые компонентами) могут запускаться параллельно одновременно. Это то, как грозовые мазки.

+0

Да, я согласен с вашими комментариями. Поэтому я имею в виду, что масштабирование имеет ограничение на количество задач. Если количество исполнителей становится равным числу задач, что означает, что у каждого исполнителя есть только одна задача, тогда нет никакого смысла масштабирования. На данный момент нам необходимо развернуть новую топологию. –

+0

Задачи @HariprasadTaduru не всегда распределяются поровну между рабочими, штурм пытается, но если у вас есть нечетное число работников и четное количество задач: оно не может быть симметричным. Даже если вы не распределяете одинаково нагрузку на один тип болта/носика, основанный на всех болтах/носиках, он действительно разделен, и ваши работники разделяют нагрузку вашей топологии (иногда не очень хорошо в зависимости от количества задач/исполнителей) , Он масштабируется, если вы хотите лучше, просто используйте большее количество задач/исполнителей в зависимости от вашего числа работников, чтобы нагрузка могла быть лучше распределена в кластере. – zenbeni

Смежные вопросы