错误Apache Kafka ubuntu vagrant - advertised.听众和听众 &



我正在运行一台漫游主机Ubuntu 20.04在192.168.50.4:

config.vm.box = "bento/ubuntu-20.04"
...
config.vm.network "private_network", ip: "192.168.50.4"

没有太复杂的网络智慧,除了局域网默认值。

然后我按照这个步骤安装了Kafka(我知道有一个Vagrant Box,我只是想自己安装)。

现在的问题:

a) -如果我保持server.properties的默认值:

#listeners=PLAINTEXT://:9092
...
#advertised.listeners=PLAINTEXT://your.host.name:9092

(评论)

客户机的生产者和消费者sh文件都可以正常工作。但是我在主机上的python脚本没有:

...
settings = {
'bootstrap.servers': '192.168.50.4:9092',
'group.id': 'mygroup',
'client.id': 'client-1',
'enable.auto.commit': True,
'session.timeout.ms': 6000,
'default.topic.config': {'auto.offset.reset': 'smallest'}
}
...

(此处为完整示例)

给出错误:

...
%3|1612854723.928|FAIL|client-1#consumer-1| [thrd:GroupCoordinator]: GroupCoordinator: vagrant.vm:9092: Failed to resolve 'vagrant.vm:9092': Name or service not known (after 29ms in state CONNECT)
...

我已经试过了:

listeners=PLAINTEXT://localhost:9092
...
advertised.listeners=PLAINTEXT://192.168.50.4:9092

这样的话,问题仍然是:

%3|1612855333.958|FAIL|client-1#consumer-1| [thrd:192.168.50.4:9092/bootstrap]: 192.168.50.4:9092/bootstrap: Connect to ipv4#192.168.50.4:9092 failed: Connection refused (after 0ms in state CONNECT, 1 identical error(s) suppressed)

b) -如果我只是改变server.properties中的listeners为:

...
listeners=PLAINTEXT://192.168.50.4:9092
...

python脚本可以在主机上运行,但是客户机的生产和消费sh文件不能:

[2021-02-09 07:20:36,958] WARN [Producer clientId=console-producer] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)

不知道如何保持客户端和主机端的连接。这并不是因为缺乏搜索和分析。

Listeners是绑定地址。需要0.0.0.0:(端口)打开服务器到所有客户端。设置为localhost限制为该机器,设置为ip限制为该接口/路由

这里最简单的解决方案是发布localhost:(port),然后在Vagrant中设置端口转发,从发布的端口到侦听器配置中指定的端口(这些端口可以是不同的端口)

你的第一个错误是因为你的主机不知道虚拟机的主机名,除非你安装了一些Vagrant插件。

更合适的解决方案是发布虚拟机的主机专用IP地址

最新更新