我的问题是我在不同的 docker 容器(Ubuntu)上设置了 2 个 kafka 代理和 2 个 zookeeper 节点。
这是我的 server1.properties 配置文件
broker.id=1
############################# Socket Server Settings
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://ipaddress_server1:9092
zookeeper.properties 配置文件 -
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=200
tickTime=2000
initLimit=20
syncLimit=10
这是 kafka 和 zookeeper 服务器的属性。我为每台服务器提供了唯一的代理 ID,并在 /tmp/zookeeper 目录中创建了 myid 文件。
现在,当我通过像这样的 ./bin/kafka-console-producer.sh --broker-list 172.171.0.3:9092 --topic demo 仅通过一个 IP 地址生成消息来测试 kafka 集群时,它工作正常。但是当我关闭一个作为领导者的容器时,我仍然收到来自该主题的消息。但是当我再次运行消费者脚本时,它会显示警告消息:-
无法建立与节点 -1 (/172.171.0.3:9092) 的连接。经纪人可能不可用
现在我无法收到消息,我该怎么办???