Я новичок в Kafka 0.9 и, тестируя некоторые функции, заметил странное поведение в Java, реализованном Consumer (KafkaConsumer
).
Брокер Kafka находится на внешнем компьютере Ambari.
Даже если бы я мог реализовать производителя и начать отправлять сообщения внешнему брокеру, я понятия не имею, почему, когда потребитель пытается прочитать события (опрос), он зависает.
Я знаю, что производитель работает хорошо, так как я могу получать сообщения через консольный потребитель (который работает локально на амбари). Но когда я запускаю Java Consumer, ничего не происходит, просто зависает. Отладив код, я увидел, что он блокируется в строке poll()
:
ConsumerRecords<String, String> records = consumer.poll(100);
Между прочим, тайм-аут ничего не делает. Неважно, поставите ли вы 0, 100 или 1000 мс, потребитель блокируется в этой строке и не истечет время ожидания и не выдаст исключения.
Я пробовал всевозможные альтернативные свойства, такие как advertised.host.name, advertised.listener,... и т. д., но безуспешно.
Любая помощь будет высоко ценится. Заранее спасибо!
kafka-console-consumer.sh
? - person David Griffin   schedule 07.06.2016