我正在使用Apache Kafka版本(2.1.0)开发流式API。我有一个Kafka集群和一个外部服务器。 外部服务器将产生要在Kafka群集上使用的数据。
让我们将外部服务器表示为 E ,将集群表示为 C 。 E 未安装Kafka。我在其上运行JAR文件以生成消息。这是生产者属性的代码段:
properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "bootstrapIp:9092");
properties.put(ProducerConfig.CLIENT_ID_CONFIG, "producer");
我将bootstrapIp
设置为Kafka经纪人IP。
在集群方面,我使用以下命令启动使用者控制台:
kafka-console-consumer --bootstrap-server bootstrapIp:9092 --topic T1 --from-beginning
我将bootstrapIp
设置为集群引导服务器IP。
在群集上运行生产者和使用者时,它工作得很好,但是当我在外部服务器( E )中运行生产者和群集中的使用者( C)时, )未消耗的数据。
在localhost中,当我在群集中运行生产者和使用者( C )时,所有事情都运行良好,而在外部运行生产者时,我无法使用其中的数据集群。
从群集( C )到外部服务器( E )的ping工作正常,但是我看不出问题出在哪里。
我不知道如何使用来自外部服务器的消息。
编辑
我从外部服务器( E )远程登录( bootstrapIp ): telnet bootstrapIp 9092,它有效,我不明白问题所在
答案 0 :(得分:0)
Tbis 对我有用: 从 server.properties 取消注释
listeners=PLAINTEXT://:9092
和
advertised.listeners=PLAINTEXT://<HOST IP>:9092
替换为实际 IP。我的情况:
advertised.listeners=PLAINTEXT://192.168.75.132:9092