【发布时间】:2018-12-22 23:39:50
【问题描述】:
我使用 docker,一个用于 zookeeper,另一个用于 kafka 我用 docker ps 码头工人ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23dbed8536dc dc62102ccd75 "/opt/startkafka.sh" 4 minutes ago Up 4 minutes inspiring_nobel
8f89ce6a4b57 00088267fb34 "/opt/startzookeeper…" 7 minutes ago Up 7 minutes 2888/tcp, 192.168.1.5:2181->2181/tcp, 3888/tcp vigorous_zhukovsky
kafka config 连接到 zookeeper 是
zookeeper_connect=localhost:2181
当我 docker 运行 kafka 容器时
[2018-07-15 01:31:58,369] INFO 打开与服务器的套接字连接 本地主机/127.0.0.1:2181。不会尝试使用 SASL 进行身份验证 (未知错误) (org.apache.zookeeper.ClientCnxn) [2018-07-15 01:31:58,373] WARN Session 0x0 for server null,意外错误, 关闭套接字连接并尝试重新连接 (org.apache.zookeeper.ClientCnxn)java.net.ConnectException: 连接被拒绝 sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 在 sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) 在 org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) 在 org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141) [2018-07-15 01:31:59,479] 信息打开与服务器的套接字连接 本地主机/127.0.0.1:2181。不会尝试使用 SASL 进行身份验证 (未知错误) (org.apache.zookeeper.ClientCnxn) [2018-07-15 01:31:59,481] WARN Session 0x0 for server null,意外错误, 关闭套接字连接并尝试重新连接 (org.apache.zookeeper.ClientCnxn)java.net.ConnectException: 连接被拒绝 sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 在 sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) 在 org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) 在 org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
我知道 kafka 容器无法连接到 zookeeper 更改卡夫卡配置 zookeeper_connect=192.168.1.5:2181
[2018-07-15 01:35:40,833] INFO 套接字连接建立到 192.168.1.5/192.168.1.5:2181,启动会话(org.apache.zookeeper.ClientCnxn)[2018-07-15 01:35:40,836] INFO 可能无法从服务器 sessionid 0x0 读取其他数据 服务器已关闭套接字,正在关闭套接字连接并尝试 重新连接(org.apache.zookeeper.ClientCnxn)[2018-07-15 01:35:42,520] 错误 KafkaServer 启动期间出现致命错误。准备关机 (kafka.server.KafkaServer) kafka.zookeeper.ZooKeeperClientTimeoutException:等待超时 连接状态:CONNECTING at kafka.zookeeper.ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1.apply$mcV$sp(ZooKeeperClient.scala:225) 在 kafka.zookeeper.ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1.apply(ZooKeeperClient.scala:221) 在 kafka.zookeeper.ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1.apply(ZooKeeperClient.scala:221) 在 kafka.utils.CoreUtils$.inLock(CoreUtils.scala:250) 在 kafka.zookeeper.ZooKeeperClient.kafka$zookeeper$ZooKeeperClient$$waitUntilConnected(ZooKeeperClient.scala:221) 在 kafka.zookeeper.ZooKeeperClient.(ZooKeeperClient.scala:95) 在 kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1538) 在 kafka.server.KafkaServer.kafka$server$KafkaServer$$createZkClient$1(KafkaServer.scala:345) 在 kafka.server.KafkaServer.initZkClient(KafkaServer.scala:369) 在 kafka.server.KafkaServer.startup(KafkaServer.scala:202) 在 kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38) 在 kafka.Kafka$.main(Kafka.scala:92) 在 kafka.Kafka.main(Kafka.scala) [2018-07-15 01:35:42,523] 信息关闭 关闭(kafka.server.KafkaServer)[2018-07-15 01:35:42,525] 警告 (kafka.utils.CoreUtils$) java.lang.NullPointerException 在 kafka.server.KafkaServer$$anonfun$shutdown$5.apply$mcV$sp(KafkaServer.scala:569) 在 kafka.utils.CoreUtils$.swallow(CoreUtils.scala:85) 在 kafka.server.KafkaServer.shutdown(KafkaServer.scala:569) 在 kafka.server.KafkaServer.startup(KafkaServer.scala:326) 在 kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38) 在 kafka.Kafka$.main(Kafka.scala:92) 在 kafka.Kafka.main(Kafka.scala) [2018-07-15 01:35:42,528] 信息关闭 已完成(kafka.server.KafkaServer)[2018-07-15 01:35:42,528] 错误 离开卡夫卡。 (kafka.server.KafkaServerStartable) [2018-07-15 01:35:42,530] INFO 正在关闭 (kafka.server.KafkaServer)
我不知道如何让kafka容器连接到zookeeper容器,或者测试容器之间的连通性。 感谢您的任何建议!
【问题讨论】:
-
Kafka 是否在不同的主机上运行?还是连接到实际的本地主机?可以显示
Dockerfile/docker-compose.yml吗?
标签: docker