Как устранить ошибку тайм-аута опроса потребителей Kafka - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь использовать Apache Kafka через бродячую машину для запуска простой программы Kafka Consumer.Программа получает зависание перед циклом for, когда она пытается вызвать метод .poll (100).

Множество копаний в более глубокие классы для отладки, но не так много было найдено.

val TOPIC="testTopic"

val  props = new Properties()
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "192.168.56.10:9092")
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest")
props.put(ConsumerConfig.GROUP_ID_CONFIG, UUID.randomUUID().toString());

props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")

val consumer = new KafkaConsumer[String, String](props)

consumer.subscribe(util.Collections.singletonList(TOPIC))

while(true) {
  println("Test")
  val records = consumer.poll(100)
  for (record <- records.asScala) {
    println(record)
  }
  println("Test2")
}

}

В настоящее время выводит Test, а затем застревает без сообщения об ошибке.Ожидается, что он выведет содержимое темы Kafka.

...