Непоследовательное состояние Кафки - PullRequest
0 голосов
/ 15 марта 2019

У меня проблема с назначением разделов Kafka при использовании Kafka Manager

Вот мои шаги

1) У меня 2 брокера kafka (1,2)

2) Я создаю брокер 3

3) Я генерирую назначения разделов для данных раздела для broker2, broker3

Все было нормально, пока broker1 не получил неожиданную ошибку

kk1_1  | [2019-03-12 09:36:42,738] ERROR Error while deleting log for __consumer_offsets-15 in dir /kafka/data (kafka.server.LogDirFailureChannel)
kk1_1  | java.nio.file.FileSystemException: /kafka/data/__consumer_offsets-15.374d3b51e2d5427b97c9b7dca63cde64-delete/.nfsa28bc636ec76204a00000727: Device or resource busy

эта ошибка привела к повреждению broker1.

Мне удалось запустить broker1 обратно (после процесса восстановления, например

{"log":"[2019-03-13 03:35:16,580] WARN Found a corrupted index file due to requirement failed: Corrupt index found, index file (/kafka/data/json.candidate-portal.candidate-update-4/00000000000000001231.index) has non-zero size but the last offset is 1231 which is no larger than the base offset 1231.}. deleting /kafka/data/json.candidate-portal.candidate-update-4/00000000000000001231.timeindex, /kafka/data/json.candidate-portal.candidate-update-4/00000000000000001231.index, and /kafka/data/json.candidate-portal.candidate-update-4/00000000000000001231.txnindex and rebuilding index... (kafka.log.Log)\n","stream":"stdout","time":"2019-03-13T03:35:16.58110204Z"}
) 

Обнаруженные проблемы

После перезапуска broker1, broker2 иbroker3 запрашивает __consumer_offsets-15, который был удален broker1

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

Я сделал чит, скопировав / kafka / data / __ consumer_offsets-15 из broker2 в broker1 и перезапустил broker3

Тогда это сработало (!!!). Назначение разделов продолжалось и делалось для большинства тем, кроме __consumer_offsets-15

В представлении менеджера Kafka, я вижу неполные назначения разделов

неудачная реплика Мои вопросы

1) В чем проблема?

2) Есть ли способ вернуть разделение в нормальное состояние?так что я могу создать другое назначение раздела.(например, добавить нового брокера)

3) Могу ли я удалить __consumer_offset_15

Спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...