zookeeper连接超时,kafa-spark流媒体

时间:2017-08-04 10:40:19

标签: apache-spark apache-kafka spark-streaming apache-zookeeper

我正在尝试使用kafka的火花流练习。如果我在命令行中使用kafka producer和consumer,我可以在kafka中发布和使用消息。当我尝试在jupyter笔记本中使用pyspark时。我收到zookeeper连接超时错误。

html()

`

1 个答案:

答案 0 :(得分:0)

使用localhost(127.0.0.1)时,Zookeeper存在问题。 https://issues.apache.org/jira/browse/ZOOKEEPER-1661?focusedCommentId=13599352

中描述
  

这个小程序解释了以下内容:

     

ZooKeeper会在连接字符串" localhost:2181"上调用InetAddress.getAllByName(请参阅StaticHostProvider:60)。 =>因此,它为localhost获取3个不同的地址,然后进行洗牌(Collections.shuffle(this.serverAddresses):L72

     

由于shuffling(随机),对StaticHostProvider.next的调用有时会返回fe80:0:0:0:0:0:0:1%1地址,正如您从这个小程序中看到的那样超时在5s =>之后这解释了我遇到的随机性。

     

在我看来,我遇到的是IPv6的反向dns查找问题。这个反向dns查找是否实际上是有用的并且是ZooKeeper所要求的,我不知道。它在3.3.3中没有这样做。

解决方案,将您的zookeeper地址指定为FQDN,并确保反向查找有效或使用0.0.0.0而不是localhost