kafka绑定到ipv6端口,即使在config中指定了ipv4地址

fer*_*oze 6 apache-kafka

我有点绑定(双关语).

我有一个运行kafka和zookeeper的ubuntu服务器.此服务器同时安装了ipv4和ipv6协议.

在server.properties文件中,我将host.name和advertised.host.name指定为我的公共ipv4地址.

当我启动zookeeper和kafka时,kafka仍然绑定到ipv6端口.

$ netstat -l -t | grep 9092 
tcp6       0      0 ferozed-linux3.mydomain:9092 [::]:*                  LISTEN
Run Code Online (Sandbox Code Playgroud)

我在MapReduce作业中运行生产者的客户端计算机是IPv4计算机.由于服务器绑定到IPv6接口,客户端无法连接到它.

知道如何解决这个问题吗?

小智 7

从Andrey的回答开始,您可以通过添加环境变量来解决它

export KAFKA_OPTS="-Djava.net.preferIPv4Stack=True"
Run Code Online (Sandbox Code Playgroud)