嗨,我创建了新的zookeeper容器和kafka容器
我用这个命令运行zookeeper
docker run -d
--name zookeeper
-p 2181:2181
jplock/zookeeper
,我使用这个命令运行kafka
docker run -d
--name kafka
-p 7203:7203
-p 9092:9092
-e KAFKA_ADVERTISED_HOST_NAME=127.0.0.1
-e ZOOKEEPER_IP=127.0.0.1
ches/kafka
并使用此命令创建新主题
docker run
--rm ches/kafka kafka-topics.sh
--create
--topic senz
--replication-factor 1
--partitions 1
--zookeeper 127.0.0.1:2181
但是当创建kafka新的kafka主题时,我有这个错误并停止kafka容器
[2021-03-03 17:08:35,797] WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
[2021-03-03 17:08:36,898] WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
[2021-03-03 17:08:38,006] WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
Exception in thread "main" org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server '127.0.0.1:2181' with timeout of 30000 ms
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1233)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:157)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:131)
at kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:106)
at kafka.utils.ZkUtils$.apply(ZkUtils.scala:88)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:56)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
谢谢你的帮助。
网络中的解决方案我们必须将网络指针指向zookeeper和kafka
解决方案是:* *
1。通过docker创建新网络
* *
docker network create kafka-net
2。现在把你的网络连接到zookeeper和kafka中,像这样:
docker run -d
--name zookeeper
--network kafka-net
-p 2181:2181
jplock/zookeeper
和kafka这样:
docker run -d
--name kafka
--network kafka-net
-p 7203:7203
-p 9092:9092
-e KAFKA_ADVERTISED_HOST_NAME=127.0.0.1
-e ZOOKEEPER_IP=zookeeper
ches/kafka