如何使用kafka在VM和主机之间进行通信?

问题描述 投票:1回答:1

我一直在尝试使用Apache-Kafka在Arch生产者和在virtualbox上运行的Ubuntu VM使用者之间进行通信。通过遵循以下youtube教程,我已经能够在一台机器上建立生产者和消费者之间的通信。

https://www.youtube.com/watch?v=VbSRS7kG5Cw

基本上,我在4个单独的终端中使用这4个命令。

./bin/zookeeper-server-start.sh config/zookeeper.properties 
./bin/kafka-server-start.sh config/server.properties
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic MyFirstTopic1
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic MyFirstTopic1

我已经尝试在VM和主机上同时设置zookeeper和kafka服务器,在一个服务器上同时设置生产者,在另一个上使用消费者,并且消费者命令中的ip地址从localhost更改为制片人。我尝试过在生产者端设置服务器,其余的保持不变。

任何帮助将不胜感激

apache-kafka virtualbox
1个回答
0
投票

目前尚不清楚哪台机器是哪台机器,但是您必须至少配置以下属性才能侦听非本地地址

listeners=PLAINTEXT://0.0.0.0:9092 
advertised.listeners=PLAINTEXT://<external ip>:9092

从从本地主机生产和使用开始,然后在非本地主机上进行相同的操作,然后可以从不同的本地计算机上进行操作

注意:VM通常无法直接通过网络访问其主机,但是如果代理位于VM中,则还需要设置端口转发

© www.soinside.com 2019 - 2024. All rights reserved.