брокеров. replication.factor=3
min.insync.replica=2
Настроен сбор метрик через kafka_exporter.
В какой-то момент падает сервер, на котором работает один брокер Кафки и одна нода zookeeper.
Происходят перевыборы. Почти все топики успешно переезжают, но некоторые партиции __consumer_offsets, лидером которых был упавший брокер, нет.
В логах есть запись о переходе в в статус offline_parttition, так как ISR остался 1, на упавшем брокере.
Хотя до сбоя их было 3, если верить метрикам.
После восстановления брокера их снова стало 3.
Куда могли деться реплики в момент сбоя?
Есть параметр в Кафка который отвечает за репликацию системных топиков, он по дефолту 1, даже если у тебя выставлено как ты пмшешь, системный топик всегда будет создаваться с 1, я тоже как то с такой бедой столкнулся пока не поправил параметры и руками не сменил системному топику через cli параметры репликации и не сделал ребаланс, открой доку с параметрами Кафка и ищи все что связано с rep factor или в понедельник черкани если не найдешь я закину тебе конфиг )
Не, у нас это параметр тоже выставлен в 3. До сбоя было 3 синхронизированные реплики, после сбоя тоже 3. А вот пока нода лежала, их не было. Грешу на то, что информацию об ISR хранит сам, лидер партиции. Но вот в момент новых выборов, другие ноды почему-то не смогли выбрать лидера. Когда старый лидер вернулся, все восстановилось и он снова начал показывать 3 реплики.
хм, такого не видел, если найдешь информацию заделись )
offsets.topic.replication.factor=3 transaction.state.log.replication.factor=3
А ну я за эти параметры как раз говорил)
Обсуждают сегодня