Amazon ec2 卡夫卡容器超时

Amazon ec2 卡夫卡容器超时,amazon-ec2,apache-kafka,apache-zookeeper,hyperledger-fabric,Amazon Ec2,Apache Kafka,Apache Zookeeper,Hyperledger Fabric,我已经在aws上使用ansible部署了基于hyperldger fabric kafka的订购服务。直到昨天,一切都很好。今天当我启动网络时,卡夫卡容器无法与zookeeper通信。这是卡夫卡集装箱的码头日志 [2017-11-16 08:23:36,075] FATAL Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) org.I0Itec.zkclient.excep

我已经在aws上使用ansible部署了基于hyperldger fabric kafka的订购服务。直到昨天,一切都很好。今天当我启动网络时,卡夫卡容器无法与zookeeper通信。这是卡夫卡集装箱的码头日志

[2017-11-16 08:23:36,075] FATAL Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 6000
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1223)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:155)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:129)
    at kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:89)
    at kafka.utils.ZkUtils$.apply(ZkUtils.scala:71)
    at kafka.server.KafkaServer.initZk(KafkaServer.scala:278)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:168)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:37)
    at kafka.Kafka$.main(Kafka.scala:67)
    at kafka.Kafka.main(Kafka.scala)
[2017-11-16 08:23:36,077] INFO shutting down (kafka.server.KafkaServer)
[2017-11-16 08:23:36,080] INFO shut down completed (kafka.server.KafkaServer)
[2017-11-16 08:23:36,081] FATAL Fatal error during KafkaServerStartable startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 6000
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1223)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:155)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:129)
    at kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:89)
    at kafka.utils.ZkUtils$.apply(ZkUtils.scala:71)
    at kafka.server.KafkaServer.initZk(KafkaServer.scala:278)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:168)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:37)
    at kafka.Kafka$.main(Kafka.scala:67)
    at kafka.Kafka.main(Kafka.scala)
[2017-11-16 08:23:36,082] INFO shutting down (kafka.server.KafkaServer)
[2017-11-16 08:23:36075]KafkaServer启动期间出现致命错误。准备关闭(kafka.server.KafkaServer)
org.I0Itec.zkclient.exception.ZkTimeoutException:无法在超时时间内连接到zookeeper服务器:6000
位于org.I0Itec.zkclient.zkclient.connect(zkclient.java:1223)
在org.I0Itec.zkclient.zkclient.(zkclient.java:155)
在org.I0Itec.zkclient.zkclient.(zkclient.java:129)
在kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:89)上
位于kafka.utils.ZkUtils$.apply(ZkUtils.scala:71)
位于kafka.server.KafkaServer.initZk(KafkaServer.scala:278)
在kafka.server.KafkaServer.startup(KafkaServer.scala:168)
在kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:37)
在kafka.kafka$.main(kafka.scala:67)
在卡夫卡.卡夫卡.梅因(卡夫卡.斯卡拉)
[2017-11-16 08:23:36077]信息关闭(卡夫卡服务器卡夫卡服务器)
[2017-11-16 08:23:36080]信息关闭完成(kafka.server.KafkaServer)
[2017-11-16 08:23:36081]KafkaServerStartable启动期间出现致命错误。准备关闭(kafka.server.KafkaServerStartable)
org.I0Itec.zkclient.exception.ZkTimeoutException:无法在超时时间内连接到zookeeper服务器:6000
位于org.I0Itec.zkclient.zkclient.connect(zkclient.java:1223)
在org.I0Itec.zkclient.zkclient.(zkclient.java:155)
在org.I0Itec.zkclient.zkclient.(zkclient.java:129)
在kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:89)上
位于kafka.utils.ZkUtils$.apply(ZkUtils.scala:71)
位于kafka.server.KafkaServer.initZk(KafkaServer.scala:278)
在kafka.server.KafkaServer.startup(KafkaServer.scala:168)
在kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:37)
在kafka.kafka$.main(kafka.scala:67)
在卡夫卡.卡夫卡.梅因(卡夫卡.斯卡拉)
[2017-11-16 08:23:36082]信息关闭(卡夫卡服务器卡夫卡服务器)

我没有更改任何代码或任何其他内容,这就是为什么我无法找出问题的原因。有什么办法可以解决这个问题吗?

最终解决了这个问题。这是由于iptables设置阻止了icmp数据包从flannel接口转发到docker接口,因此docker容器无法相互通信。通过添加iptable规则,一切对我来说都很好。

请附上所有实例的zookeeper日志。您能否提供有关部署的其他详细信息?例如虚拟机数量、每个虚拟机的内容、使用Docker、使用Docker Swarm、Kubernetes等?如果您的Kafka和ZK实例托管在不同的vm中,那么我建议您登录Kafka vm并尝试ping ZK运行的vm