Как восстановить KRaft-кворум после потери большинства контроллеров

#KRaft-кворум #Представьте #Running #Readiness #TimeoutException
Как восстановить KRaft-кворум после потери большинства контроллеров

Представьте себе баг-репорт: все шесть подов в статусе 1/1 Running, Readiness зелёный, kafka-agent на брокерах отдаёт 204. А кластер мёртв: оператор бесконечно крутит реконсайл и валится в TimeoutException: Timed out waiting for a node assignment. Call: describeMetadataQuorum. Если зайти на том контроллера, можно увидеть, что __cluster_metadata-0/quorum-state: leaderId выставлен, а appliedOffset в 0. Ни одна запись метаданных не применена. JVM живые, raft-лог на диске растёт, и при этом ни один под не написал в stdout ни строки следующие восемь часов. Это не выдумка, а реальный баг-репорт Strimzi от 25 мая 2026 , и к нему мы ещё вернёмся. В Kafka 4.x больше нет привычного «запасного выходa» в виде ZooKeeper: метаданные переехали внутрь самой Kafka (KRaft), и если кворум контроллеров теряет большинство, чинить уже приходится сам кластер Kafka, а не внешний сервис. Раньше чтобы с этим справиться в Kafka существовал ZooKeeper, отдельная система со своими инструментами, ансамблем и культур

Представьте себе баг-репорт: все шесть подов в статусе 1/1 Running, Readiness зелёный, kafka-agent на брокерах отдаёт 204. А кластер мёртв: оператор бесконечно крутит реконсайл и валится в TimeoutException: Timed out waiting for a node assignment. Call: describeMetadataQuorum. Если зайти на том контроллера, можно увидеть, что __cluster_metadata-0/quorum-state: leaderId выставлен, а appliedOffset в 0. Ни одна запись метаданных не применена. JVM живые, raft-лог на диске растёт, и при этом ни один под не написал в stdout ни строки следующие восемь часов. Это не выдумка, а реальный баг-репорт Strimzi от 25 мая 2026, и к нему мы ещё вернёмся.

В Kafka 4.x больше нет привычного «запасного выходa» в виде ZooKeeper: метаданные переехали внутрь самой Kafka (KRaft), и если кворум контроллеров теряет большинство, чинить уже приходится сам кластер Kafka, а не внешний сервис.

Раньше чтобы с этим справиться в Kafka существовал ZooKeeper, отдельная система со своими инструментами, ансамблем и культурой восстановления. В версии 4.x его нет, и в документации от процедуры остался только линк на 3.9. Метаданные переехали внутрь самой Kafka (KRaft), и если кворум контроллеров теряет большинство, чинить уже приходится сам кластер Kafka, а не внешний сервис.

В этой статье расскажем, что делать в такой ситуации и как восстанавливать этот кворум, чтобы не случилось ситуации, описанной выше.

Похожие статьи

Чемпионат
Чемпионат

Опубликована архитектура деловой программы IV Международного форума «День сокола»

В стартовый день XI Восточного экономического форума, 1 сентября, состоится IV Международный форум «День сокола».

Чемпионат
Аргументы и Факты
Аргументы и Факты

В Румынии упал неизвестный беспилотник

В Румынии недалеко от границы с Украиной упал неизвестный беспилотник.

Аргументы и Факты
Аргументы и Факты
Аргументы и Факты

В Подмосковье мужчина убил мать и несколько дней жил с ее телом

В Подмосковье 43-летний мужчина задушил свою 64-летнюю мать после ссоры, а спустя несколько дней сам сообщил о произошедшем правоохранителям.

Аргументы и Факты
Аргументы и Факты
Аргументы и Факты

День Василия Блаженного. Что можно и что нельзя делать 15 августа 2026 года

15 августа 2026 года вспоминают Василия Блаженного. Мы расскажем об истории, традициях и современных обычаях праздника.

Аргументы и Факты
CNews
CNews

«МегаФон» ускорил мобильный интернет в музее-заповеднике «Горки Ленинские»

Инженеры «МегаФона» провели модернизацию телеком-инфраструктуры в Горках Ленинских и одноименном музее-заповеднике....

CNews
Sports.ru
Sports.ru

Второе пришествие Христа до конца 2026 года вероятнее поражения «Единой России» на выборах в Госдуму

Бетторы не сомневаются в победе «Единой России» на выборах в Госдуму. На бирже прогнозов Polymarket вероятность победы «Единой России» на парламентских выборах в сентябре оценивается в 98,4%. Примечат...

Sports.ru