после восстановления и старта он не может зареплицировать одну из партиций в одном из топиков.
ERROR [ReplicaFetcher replicaId=2, leaderId=4, fetcherId=0] Found invalid messages during fetch for partition ******* kafka org.apache.kafka.common.errors.CorruptRecordException: Record is corrupt (stored crc = 4116316609) in topic ********
Replicas: 2,0,4 Isr: 4,0
Первый раз сталкиваюсь и не знаю что сделать. 2 брокер не может зареплицировать партицию. Лидер - 4 брокер, вот не могу понять, сообщение битое на двух ISR? Или только на одной? Как решить проблему? Была мысль, что если например 2 брокер пытается реплицироваться с 0, то удалить с диска на 0 брокере папку партиции, чтобы они оба зареплицировались с лидера. Но я не уверен, что это так.
rf2?
node_exporter стоит, dmesg что на серверах пишет?
ну обычно удалить данные с битого брокера все - самый оптимальный вариант но сначала надо понять что с фс и с диском у данрного брокера
Ресайзили датастор шареный в висфере и побили диск на одном брокере. Но битое сообщение оказалось не на том брокере, на котором диск задели. В общем что сделал - утащил с двух ISR реплик (включая лидера) log файлы партиции с битым "оффсетом", пробежался по ним с помощью kafka-dump-log - на log файле лидера на нужном оффсете дамп завалился с ошибкой. baseOffset: 10263161 lastOffset: 10263165 count: 5 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 4 isTransactional: false isControl: false position: 112197035 CreateTime: 1689005924609 size: 2775 magic: 2 compresscodec: lz4 crc: 4116316609 isvalid: false isvalid: false - вот оно. Сделал реассайн партиций ручками, чтобы в преферед лидер попал второй брокер из тех что ISR ну и вызвал leader election. После чего третья реплика перешла в инсинк и я руками грохнул папку партиции с битого брокера (бывшего лидера), после чего пнул его. Теперь все ок. Спасибо за идеи!
как я терпеть не могу эти шаренные диски
Я тут поел кое чего с ними уже несколько раз и просто забил на них болт, заказываю у инфры виртуалки с просто приаатаченными дисками под новые кафки, а не вот это вот CSI provisioned. Потому что от него пока лично у меня в опыте с кафкой было больше проблем, чем толку. Миграция между нодами мне нафиг не нужна, а отказоустойчивость у меня и так обеспечивается избыточностью тем, что брокеров 4+ и rf3, если даже нода наглухо уедет - я перебалансируюсь между оставшимися 3+ и пойду новую поднимать.
меня вымораживают фанатики санов и насов, которые прикручивают вмтварь, делают шарвенные диски под бд и кафку,я столько с ними уже намучился....
Обсуждают сегодня