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