Есть несколько причин, по которым сообщение не используется. Вот несколько способов отладки:
Один из них, как сказано, вы, возможно, потребляете из последнего смещения, и, следовательно, вы будете ждать. В этом случае попробуйте создать сообщения в теме и проверьте, не были ли они использованы.
Далее убедитесь, что ваш потребитель подписывается на разделы, для которых создаются сообщения. Если вы используете Streams API, вам не нужно беспокоиться об этом, поскольку вы подпишетесь на все разделы.
Возможна проблема с конфигурацией потребителя. Попробуйте использовать kafka-console-consumer
с флагом --from-beginning
.
Если нет выходных данных, это означает, что сообщения, вероятно, отсутствуют, или у вас есть некоторые трудности с подключением к нему.
Вы можете повторить этот тест как на машине Kafka, так и снаружи.
Проверьте подключение вашего клиентского клиента к вашему брокеру, который является лидером тематических разделов, из которых вы потребляете. Если при подключении возникла проблема, вы должны получить исключение (например, тайм-аут для получения данных).
Для этого вы можете использовать telnet broker_ip:port
Иногда может случиться, что ваш загрузочный сервер может быть доступен, но не другие посредники, к которым ведут ваши тематические разделы.
Проверьте свои правила iptables, чтобы увидеть, заблокирован ли порт брокера или нет. Увидеть
Что произойдет, если лидер не умер, но не сможет получать сообщения в Кафке? SPOF