Storm Pacemaker с обновленным KafkaSpout - PullRequest
0 голосов
/ 02 ноября 2018

У меня возник вопрос по поводу использования кардиостимулятора. В настоящее время у нас работает кластер Storm на 1.0.2, и мы находимся в процессе его миграции на 1.2.2. Мы также используем KafkaSpout для получения данных из тем KAfka. Теперь, так как этот выпуск для Kafka 0.10 +, большая часть загрузки из ZK будет снята, так как смещения не будут сохраняться в ZK.

Учитывая это, имеет ли смысл для нас также начать рассматривать Pacemaker для дальнейшего снижения нагрузки на ZK?

В нашем кластере более 70 руководителей и около 70 рабочих с несколькими неиспользуемыми слотами. Также у нас работает около 9100+ исполнителей / задач.

Еще один вопрос, который у меня есть, касается сердцебиения и кто все посылает его кому? Из того, что я прочитал, рабочие и руководители посылают свои сердцебиения в ZK, что облегчает кардиостимулятор. Как насчет задач? Они также посылают сердцебиение? Если да, то это к ZK или где еще? Этот конфиг называется task.heartbeat.frequency.secs , что привело меня к еще большей путанице.

Причина, по которой я спрашиваю это, состоит в том, что если пульсы на уровне задач не отправляются в ZK, то совершенно очевидно, что Pacemaker не понадобится. Это связано с тем, что при отсутствии коррекций для ZK нагрузка будет значительно снижена. Является ли моя оценка правильной или Pacemaker будет по-прежнему осуществимым вариантом? Любые выводы будут оценены.

1 Ответ

0 голосов
/ 07 ноября 2018
  1. Pacemaker - это дополнительный демон Storm, предназначенный для обработки тактовых импульсов от рабочих, который реализован как хранилище в памяти. Вы можете использовать его, если ZK станет узким местом, потому что грозовой кластер увеличился

  2. supervisor сообщает сердцебиение nimbus, что оно живо, используется для обеспечения отказоустойчивости, а частота задается с помощью supervisor.heartbeat.frequency.secs , , хранящихся в ZK .

    И worker должны пульсировать до supervisor, частота устанавливается с помощью worker.heartbeat.frequency.secs . Эти тактовые импульсы хранятся в локальной файловой системе .

  3. task.heartbeat.frequency.secs : Как часто задача (исполнитель) должна передавать свой статус мастеру (Нимбусу), она никогда не вступает в силу в шторм и устарело для отчетов о пульсе Storm v2.0 RPC

    Это сердцебиение показывает, какие исполнители назначены для какого работника, хранится в ZK .

...