为什么我不能访问基于docker的zookeeper端口

fumotvh3  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(732)

在OSX上,我成功地启动了kafka docker映像,但似乎无法在localhost上访问它

➜  ~ docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                                                NAMES
1f931da3d661        wurstmeister/zookeeper:3.4.6   "/bin/sh -c '/usr/..."   About an hour ago   Up About an hour    22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp   docker_zookeeper_1
8bc36bcf8fdf        wurstmeister/kafka:0.10.1.1    "start-kafka.sh"         About an hour ago   Up About an hour    0.0.0.0:9092->9092/tcp                               docker_kafka_1
➜  ~ telnet 0.0.0.0:2181
0.0.0.0:2181: nodename nor servname provided, or not known
➜  ~ telnet 0.0.0.0 2181
Trying 0.0.0.0...
telnet: connect to address 0.0.0.0: Connection refused
telnet: Unable to connect to remote host
➜  ~ telnet 192.168.43.193 2181
Trying 192.168.43.193...
telnet: connect to address 192.168.43.193: Connection refused
telnet: Unable to connect to remote host
➜  ~ telnet 127.0.0.1 2181
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host

我的docker文件位于kafka.yml,并使用此命令启动:

docker-compose -f src/main/docker/kafka.yml up -d

当我使用

./mvnw

控制台是:

2017-09-15 17:05:46.433  WARN 15871 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect

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)

如何进入2181端口
编辑
docker日志8bc36bcf8fdf

[2017-09-15 08:14:13,386] FATAL Fatal error during KafkaServerStartable startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
java.lang.RuntimeException: A broker is already registered on the path /brokers/ids/1001. This probably indicates that you either have configured a brokerid that is already in use, or else you have shutdown this broker and restarted it faster than the zookeeper timeout so it appears to be re-registering.
    at kafka.utils.ZkUtils.registerBrokerInZk(ZkUtils.scala:393)
    at kafka.utils.ZkUtils.registerBrokerInZk(ZkUtils.scala:379)
    at kafka.server.KafkaHealthcheck.register(KafkaHealthcheck.scala:70)
    at kafka.server.KafkaHealthcheck.startup(KafkaHealthcheck.scala:51)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:270)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:39)
    at kafka.Kafka$.main(Kafka.scala:67)
    at kafka.Kafka.main(Kafka.scala)
[2017-09-15 08:14:13,393] INFO [Kafka Server 1001], shutting down (kafka.server.KafkaServer)

docker日志1f931da3d661

2017-09-14 08:53:05,878 [myid:] - WARN  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@357] - caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid 0x15e7ea74c8e0000, likely client has closed socket
    at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)
    at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
    at java.lang.Thread.run(Thread.java:745)
2017-09-14 08:53:05,887 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1007] - Closed socket connection for client /172.18.0.2:54222 which had sessionid 0x15e7ea74c8e0000
kmynzznz

kmynzznz1#

您是否尝试过使用本例中的主机网络?https://docs.confluent.io/current/cp-docker-images/docs/quickstart.html#zookeeper
这看起来会简化并解决这个问题。我还建议您检查这些图像,而不是像您使用的自定义图像,因为这些图像是为人们在生产中运行的,所以大家都知道它们工作得很好。

相关问题