无法在 Kafka 中使用来自远程计算机的消息

Pri*_*tha 2 apache-kafka kafka-consumer-api

我在我的一台机器上创建了一个kafka主题,其IP为192.168.25.50,主题名称为test-poc。然后通过使用 kafka-console- Producer 我生成了如下消息

kafka-console-producer --broker-list localhost:9092 --topic test-poc

>test message1

>test message2
Run Code Online (Sandbox Code Playgroud)

之后我在另一台机器上下载了kafka并尝试使用以下命令使用

kafka-console-consumer --bootstrap-server 192.168.25.50:9092 --topic test-poc --from-beginning 
Run Code Online (Sandbox Code Playgroud)

其中 192.168.25.50 是运行 Kafka 生产者的服务器的 IP。

因此,执行上述命令后,我收到以下错误。

[2018-06-28 20:45:12,822] WARN [Consumer clientId=consumer-1, groupId=console-consumer-33012] Connection to node 2147483647 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2018-06-28 20:45:12,934] WARN [Consumer clientId=consumer-1, groupId=console-consumer-33012] Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2018-06-28 20:45:13,038] WARN [Consumer clientId=consumer-1, groupId=console-consumer-33012] Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2018-06-28 20:45:13,191] WARN [Consumer clientId=consumer-1, groupId=console-consumer-33012] Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
[2018-06-28 20:45:13,395] WARN [Consumer clientId=consumer-1, groupId=console-consumer-33012] Connection to node 0 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
Run Code Online (Sandbox Code Playgroud)

我的kafka的server.properties

kafka-console-producer --broker-list localhost:9092 --topic test-poc

>test message1

>test message2
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助解决这个问题吗?

注意:当我在同一台机器上运行生产者和消费者时,它工作正常。

Bit*_*sky 5

默认情况下,代理将绑定到本地主机。如果你的机器IP是a.b.c.d并且它是一个虚拟机实例,那么你需要取消注释server.properties包含中的行listeners=PLAINTEXT://:9092并将其放入listeners=PLAINTEXT://a.b.c.d:9092

如果是 docker 容器,您可以尝试添加以下两行:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://a.b.c.d:9092
Run Code Online (Sandbox Code Playgroud)