Я получаю исключение, когда начинаю потребитель Кафки.
org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out the range без конфигурации reset для разделов {test-0 = 29898318}
Я использую Kafka версии 9.0.0 с Java 7.
Я получаю исключение, когда начинаю потребитель Кафки.
org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out the range без конфигурации reset для разделов {test-0 = 29898318}
Я использую Kafka версии 9.0.0 с Java 7.
Итак, вы пытаетесь получить доступ к смещению (29898318
) в разделе раздела (test
) (0
), который недоступен прямо сейчас.
Для этого
могут быть два случая:0
может не быть таких сообщений29898318
, возможно, уже удалено по периоду храненияЧтобы избежать этого, вы можете сделать следующее:
auto.offset.reset
config либо в smallest
, либо largest
.
Вы можете найти дополнительную информацию об этом здесьsmallest offset
для раздела темы с помощью
запуск следующего инструмента командной строки KafkaКоманда:
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <broker-ip:9092> --topic <topic-name> --time -2
Надеюсь, это поможет!
Я задал этот SO вопрос при запуске хранилища состояний Kafka Streams с определенной конфигурацией темы журнала изменений:
cleanup.policy=cleanup,delete
Если в Kafka Streams по-прежнему имеется файл моментального снимка, указывающий на смещение, которого больше нет, потребитель восстановления настроен на ошибку. Это не отступает к самому раннему смещению. Этот сценарий может произойти, когда поступает очень мало данных или когда приложение не работает. В обоих случаях, когда в течение срока хранения журнала изменений нет изменений, файл снимка не будет обновлен. (Это на основе разделов)
Самый простой способ решить эту проблему - остановить приложение Kafka Streams, удалить его локальный каталог состояний и перезапустить приложение.
Я ударил с ошибкой "org.apache.kafka.clients.consumer.OffsetOutOfRangeException: смещения вне диапазона без настроенной политики сброса для разделов: [topic-2 = 2120]" - при перезапуске потребительского приложения со offset.auto.commit to ложный.
Возможные случаи: → Группа потребителей была неактивна, и во время политики хранения, примененной к теме (очень короткие периоды хранения), политика автоматического сброса не установлена → Политика автоматического сброса установлена, но не удалось применить автоматический сброс в нескольких экземплярах потребителей группы.
Предпринятые действия: → Сброс смещения группы потребителей для всей/конкретной темы: {самое раннее/последнее/текущее} → Запустить приложение потребителя.