2016-11-22 3 views
1

Ich habe einen kafka 0.10.1.0 Cluster (2 Knoten) und zookeeper 3.4.6 (3 Knoten)Kafka nicht Zookeper den DNS-Namen

Die Cluster gehostet werden auf Kubernetes folgenden this tutorial lösen.

Relevante Einträge aus Kafka server.properties:

listeners=PLAINTEXT://0.0.0.0:9092 
advertised.listeners=PLAINTEXT://kafka.internal.<companyname>.com:9092 
zookeeper.connect=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181 

Beim Start des Servers jeder Kafka-Broker nicht schnell mit dem folgenden. Für mich sieht es so aus, als könnte es den DNS-Namen zookeeper-1 nicht auflösen. Ich versuchte auch, die Häfen von zookeeper.connect zu entfernen, obwohl mein Lesen von the relevant code, ich glaube nicht, dass das einen Unterschied machen wird.

Natürlich habe ich bestätigt, dass zookeeper-1 aus dem Cluster gelöst werden kann. Andere Container aus dem Cluster können den Namen auflösen.

Ich versuchte auch mit einer Reihe von anderen Aliase, einschließlich der DNS-Name der Dienste und Zookeeper Load Balancer (s), von denen ich unabhängig voneinander funktioniert. In jedem Fall berichtete Kafka allein Name or service not known.

[2016-11-22 19:55:45,506] INFO Initiating client connection, connectString=zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181 sessionTimeout=6000 [email protected] (org.apache.zookeeper.ZooKeeper) 
[2016-11-22 19:56:05,571] INFO Terminate ZkClient event thread. (org.I0Itec.zkclient.ZkEventThread) 
[2016-11-22 19:56:05,572] FATAL Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer) 
org.I0Itec.zkclient.exception.ZkException: Unable to connect to zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181 
    at org.I0Itec.zkclient.ZkConnection.connect(ZkConnection.java:71) 
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1227) 
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:156) 
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:130) 
    at kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:76) 
    at kafka.utils.ZkUtils$.apply(ZkUtils.scala:58) 
    at kafka.server.KafkaServer.initZk(KafkaServer.scala:327) 
    at kafka.server.KafkaServer.startup(KafkaServer.scala:200) 
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:39) 
    at kafka.Kafka$.main(Kafka.scala:67) 
    at kafka.Kafka.main(Kafka.scala) 
Caused by: java.net.UnknownHostException: zookeeper-1: Name or service not known 
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) 
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) 
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) 
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1192) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1126) 
    at org.apache.zookeeper.client.StaticHostProvider.<init>(StaticHostProvider.java:61) 
    at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:446) 
    at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:380) 
    at org.I0Itec.zkclient.ZkConnection.connect(ZkConnection.java:69) 
    ... 10 more 
[2016-11-22 19:56:05,575] INFO shutting down (kafka.server.KafkaServer) 
[2016-11-22 19:56:05,616] INFO shut down completed (kafka.server.KafkaServer) 

Weitere Informationen zu dem Bild Kafka bezogen werden: Es basiert weg wurstmeister/kafka-docker aber von openjdk:8-jre erben aktualisiert.

+0

haben Sie versucht, den Full Qualified Domain Name für diese PetSets zu verwenden? Oft lösen Auflösung Methoden nicht mit dem Kurznamen. – MrE

+0

Können Sie "zoekeeper-1" anpingen? Kann der Hostname aufgelöst werden? – bsd

Antwort

0

Es stellt sich heraus, dass dies ein Problem mit Kubernetes selbst war.

Nach einem nicht verwandten Upgrade auf v1.4.6 und anderen Änderungen konnten die Namen normal aufgelöst werden.