“UnknownHostException”:Zookeeper 3.5.3和StatefulSet Kubernetes

时间:2017-11-29 15:40:12

标签: dns kubernetes apache-zookeeper statefulset

使用GCloud Kubernetes Engine,Zookeeper 3.5.3-beta对我不起作用。使用与Zookeeper 3.4.10相同的配置。

当我运行客户端健全性测试时,返回的唯一例外是:

2017-11-29 14:27:17,597 [myid:1] - WARN  [QuorumPeer[myid=1](plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):Learner@273] - Unexpected exception, tries=0, remaining init limit=20000, connecting to zk-2.zk-svc.default.svc.cluster.local:2888
java.net.UnknownHostException: zk-2.zk-svc.default.svc.cluster.local

虽然有人建议此问题与kube-dns相关,如here所示 kube-dns(dns.go:48]版本:1.14.4-2-g5584e04)似乎按预期工作:

/ # nslookup zk-0.zk-svc.default.svc.cluster.local
Server:    10.63.240.10
Address 1: 10.63.240.10 kube-dns.kube-system.svc.cluster.local

Name:      zk-0.zk-svc.default.svc.cluster.local
Address 1: 10.60.3.3 zk-0.zk-svc.default.svc.cluster.local
/ # nslookup zk-2.zk-svc.default.svc.cluster.local
Server:    10.63.240.10
Address 1: 10.63.240.10 kube-dns.kube-system.svc.cluster.local

Name:      zk-2.zk-svc.default.svc.cluster.local
Address 1: 10.60.4.3 zk-2.zk-svc.default.svc.cluster.local
/ # nslookup zk-1.zk-svc.default.svc.cluster.local
Server:    10.63.240.10
Address 1: 10.63.240.10 kube-dns.kube-system.svc.cluster.local

Name:      zk-1.zk-svc.default.svc.cluster.local
Address 1: 10.60.2.5 zk-1.zk-svc.default.svc.cluster.local

kube-dns日志中没有错误。

在3.4.10中,第一个节点在初始化时也会产生UnknownHostExceptions,但最终会提供这种类型的分辨率指示,但从不在3.5.3中

2017-11-29 15:14:39,923 [myid:] - INFO  [main:QuorumPeer$QuorumServer@167] - Resolved hostname: zk-0.zk-svc.default.svc.cluster.local to address: zk-0.zk-svc.default.svc.cluster.local/10.60.4.4

我没有足够的信息来报告Zookeeper的问题,所以我很感激有关如何调试它的任何建议。

1 个答案:

答案 0 :(得分:0)

根据ZOOKEEPER-2343中的最新评论,我已部署了3.6.0-SNAPSHOT图像。第二个和第三个节点立即接受客户端请求,但第一个节点不接受并报告“此ZooKeeper实例当前未提供请求”。

删除第一个节点会将问题修复为启动时,它可以参与仲裁。