Как измерить время, затраченное на перебалансировку kafka?

Я очень плохо знаком с Кафкой. Так что этот вопрос может быть очень простым. Чего я пытаюсь добиться, так это выяснить время, необходимое для перебалансировки, когда брокер терпит неудачу, а затем снова добавляется. Из моего чтения документации (http://kafka.apache.org/documentation/#basic_ops_restarting). Когда брокер выходит из строя или закрыт на техническое обслуживание

  • It will sync all its logs to disk to avoid needing to do any log recovery when it restarts (i.e. validating the checksum for all messages in the tail of the log). Log recovery takes time so this speeds up intentional restarts.

  • It will migrate any partitions the server is the leader for to other replicas prior to shutting down. This will make the leadership transfer faster and minimize the time each partition is unavailable to a few milliseconds.

Что я хочу сделать, так это узнать время, затраченное на migrate any partitions that the server is the leader for to other replicas

Моя настройка kafka — это 3 узла брокера и 3 узла zk.

Кроме того, когда я добавляю этот узел обратно в свойство auto.rebalance=true, снова срабатывает перебалансировка, и он переизбирает лидера. Как мне измерить и это время?


person Hrishikesh    schedule 21.09.2017    source источник


Ответы (1)


Нет «миграции», как при копировании данных. При корректном завершении работы брокера контроллер просто выберет нового лидера из доступных реплик для всех разделов, в которых брокер был лидером, что ускорит переход.

Есть несколько показателей, по которым вы можете отслеживать выборы лидеров. Начиная с версии 0.11.0.0, брокер предоставляет ряд показателей контроллера, в том числе:

kafka.controller:type=ControllerStats,name=AutoLeaderBalanceRateAndTimeMs

Это отслеживает скорость и продолжительность автоматической перебалансировки лидера. Полный список метрик контроллера, добавленных в версии 0.11, доступен в KIP: https://cwiki.apache.org/confluence/display/KAFKA/KIP-143%3A+Controller+Health+Metrics#KIP-143:ControllerHealthMetrics-ControllerMetrics

Если вы используете более старую версию (‹ 0.11.0.0), вам придется полагаться на такие показатели, как:

kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs

Это включает любые выборы лидера.

person Mickael Maison    schedule 21.09.2017