我在三个不同的码头主机上玩了wurstmeister / kafka图像 和主机IP是
10.1.1.11
10.1.1.12
10.1.1.13
我输入这些命令来运行图像:
10.1.1.11:
sudo docker run --name kafka -p 9092:9092 --restart always \
-e KAFKA_BROKER_ID="1" \
-e KAFKA_ADVERTISED_HOST_NAME="10.1.1.11" \
-e KAFKA_ADVERTISED_PORT="9092" \
-e KAFKA_ZOOKEEPER_CONNECT="0.0.0.0:2181,10.1.1.12:2181,10.1.1.13:2181" \
-d wurstmeister/kafka
10.1.1.12:
sudo docker run --name kafka -p 9092:9092 --restart always \
-e KAFKA_BROKER_ID="2" \
-e KAFKA_ADVERTISED_HOST_NAME="10.1.1.12" \
-e KAFKA_ADVERTISED_PORT="9092" \
-e KAFKA_ZOOKEEPER_CONNECT="10.1.1.11:2181,0.0.0.0:2181,10.1.1.13:2181" \
-d wurstmeister/kafka
10.1.1.13:
sudo docker run --name kafka -p 9092:9092 --restart always \
-e KAFKA_BROKER_ID="3" \
-e KAFKA_ADVERTISED_HOST_NAME="10.1.1.13" \
-e KAFKA_ADVERTISED_PORT="9092" \
-e KAFKA_ZOOKEEPER_CONNECT="10.1.1.11:2181,10.1.1.12:2181,0.0.0.0:2181" \
-d wurstmeister/kafka
运行这些命令时,第一个命令始终显示: 警告,其余的两个都没有出现这个问题。
我也在使用kafka制作人测试。如果主机出现此问题,则消息发送失败并显示消息
如果没有出现此问题,则消息发送成功。
当我在10.1.1.11
中重新启动图片时,问题已修复,但10.1.1.12
会出现同样的问题,依此类推。
我搜索此问题的方法解决方法是将KAFKA_ADVERTISED_HOST_NAME
设置为docker host。但我已经做到了。
我不知道为什么会出现这个问题。
10.1.1.11
上的我的Zookeeper命令:
sudo docker run --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 \
--restart always \
-e ZOO_MY_ID="1" \
-e ZOO_SERVERS="server.1=0.0.0.0:2888:3888 server.2=10.1.1.12:2888:3888 server.3=10.1.1.13:2888:3888" \
-d zookeeper:latest
答案 0 :(得分:0)
解决方案。
问题是防火墙拦截器容器连接到docker主机。 所以我无法在docker容器内telnet docker host 解决方案是将规则设置为iptables
sudo iptables -I INPUT 1 -i <docker-bridge-interface> -j ACCEPT
的解决方案