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

Apache kafka 如何使用kafka在VM和主机之间进行通信?,apache-kafka,virtualbox,Apache Kafka,Virtualbox,我一直在尝试使用ApacheKafka在Arch制作人和运行在virtualbox上的Ubuntu虚拟机消费者之间进行通信。通过以下youtube教程,我已经能够在一台机器上建立生产者和消费者之间的通信 基本上,我在4个独立的终端中使用这4个命令 ./bin/zookeeper-server-start.sh config/zookeeper.properties 我尝试在VM和主机上设置zookeeper和kafka服务器,在一个主机上设置生产者,在另一个主机上设置消费者,消费者命令中的

我一直在尝试使用ApacheKafka在Arch制作人和运行在virtualbox上的Ubuntu虚拟机消费者之间进行通信。通过以下youtube教程,我已经能够在一台机器上建立生产者和消费者之间的通信

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

./bin/zookeeper-server-start.sh config/zookeeper.properties 
我尝试在VM和主机上设置zookeeper和kafka服务器,在一个主机上设置生产者,在另一个主机上设置消费者,消费者命令中的ip地址从localhost更改为生产者的ip地址。我已经尝试过在生产者端设置服务器,并保持其余服务器不变


任何帮助都将不胜感激

不清楚帖子中的机器是哪台,但您必须至少配置以下属性以侦听非本地地址

listeners=PLAINTEXT://0.0.0.0:9092 
advertised.listeners=PLAINTEXT://<external ip>:9092
listeners=PLAINTEXT://0.0.0.0:9092
播发。侦听器=纯文本://:9092
从本地主机开始生产和消费,然后从非本地主机继续进行生产和消费,然后您可以从不同的机器进行生产和消费


注意:虚拟机通常不具有对其主机的直接网络访问权限,但如果代理位于虚拟机中,则还需要设置端口转发

您的kafka代理在哪里运行?您可能需要为您的虚拟机配置网络。请更具体地说明您面临的问题?标题中的问题太宽泛,你对你所做的描述太笼统。请包含错误消息,并且显示两个属性文件的内容也不会有任何影响。
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic MyFirstTopic1
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic MyFirstTopic1
listeners=PLAINTEXT://0.0.0.0:9092 
advertised.listeners=PLAINTEXT://<external ip>:9092