如何在Akka Stream Kafka ConsumerSettings中指定Kafka Zookeeper端点

时间:2017-09-07 20:57:53

标签: apache-kafka akka akka-stream

我有一个Kafka Broker,它运行在云端的某个地方,当我尝试通过命令行消费者工具从中消耗时,我可以使用消息。但是,当我在我的akka​​-stream kafka ConsumerSettings中放置相同的端点时,它无法正常工作 例如: - bin / kafka-console-consumer.sh --zookeeper hostname:2181 / xxx / yyy --topic topic-name 这对我有用。但是,当我通过ConsumerSetting进行无法正常工作时,同样的事情

val consumerSettings = ConsumerSettings(actorSystem, new ByteArrayDeserializer, new StringDeserializer)
  .withBootstrapServers("hostname:2181/xxx/yyy")
  .withGroupId(groupID)
  .withProperty(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest")

Consumer.committableSource(consumerSettings, Subscriptions.topics("topic-name"))

1 个答案:

答案 0 :(得分:1)

如果指定--zookeeper,则使用的是旧(且不安全)的使用者。如果基于云的kafka代理设置正确,您应该能够使用console-consumer和--bootstrap-server param而不使用--zookeeper。如果这不起作用,则可能无法使用外部advertised.listeners ip或主机名正确设置群集。您可能还希望防火墙关闭对zookeeper的直接客户端访问。