小编Joe*_*jim的帖子

来自远程服务器的 Kafka 生产者

我正在使用 Apache Kafka 版本 (2.1.0) 开发流 API。我有一个 Kafka 集群和一个外部服务器。外部服务器将生成供 Kafka 集群使用的数据。

我们将外部服务器表示为E,将集群表示为CE没有安装Kafka。我在它上面运行一个 JAR 文件来生成消息。以下是 Producer 属性的片段

properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "bootstrapIp:9092");
properties.put(ProducerConfig.CLIENT_ID_CONFIG, "producer");
Run Code Online (Sandbox Code Playgroud)

我设置bootstrapIp为 Kafka 代理 IP。

在集群端,我使用以下命令启动消费者控制台:

kafka-console-consumer --bootstrap-server bootstrapIp:9092 --topic T1 --from-beginning
Run Code Online (Sandbox Code Playgroud)

我设置bootstrapIp为集群引导服务器IP。

当在集群上运行生产者和消费者时,它工作得很好,但是当我在外部服务器(E )中运行生产者和在集群( C )中运行消费者时,数据没有被消耗。

在本地主机中,当我在集群( C )中运行生产者和消费者时,一切都工作正常,一切都工作正常,当在外部运行生产者时,我无法使用集群中的数据。

从集群 ( C ) 到外部服务器 ( E ) 的ping工作正常,但我看不出问题到底出在哪里。

我无法弄清楚如何使用来自外部服务器的消息。

编辑

从外部服务器(E)我telnet(bootstrapIp):telnet bootstrapIp 9092并且它有效,我不明白这个问题

apache-kafka kafka-consumer-api kafka-producer-api

5
推荐指数
1
解决办法
2690
查看次数