我想在版本3.5.1中設置3節點zookeeper集羣。爲了將它部署到kubernetes中,我必須使zookeeper節點本身爲0.0.0.0,因此它可以正確啓動。配置如下:無法在kubernetes中部署Zookeeper 3.5.1
ZK1: zoo.cfg
standaloneEnabled=false
dynamicConfigFile=/opt/zookeeper/conf/zoo.cfg.dynamic
zoo.cfg.dynamic
server.1=0.0.0.0:2888:3888:participant;2181
server.2=10.62.56.192:2889:3889:participant;2182
server.3=10.62.56.192:2890:3890:participant;2183
ZK2: zoo.cfg
standaloneEnabled=false
dynamicConfigFile=/opt/zookeeper/conf/zoo.cfg.dynamic
zoo.cfg.dynamic
server.1=10.62.56.192:2888:3888:participant;2181
server.2=0.0.0.0:2889:3889:participant;2182
server.3=10.62.56.192:2890:3890:participant;2183
ZK3: zoo.cfg
standaloneEnabled=false
dynamicConfigFile=/opt/zookeeper/conf/zoo.cfg.dynamic
zoo.cfg.dynamic
server.1=10.62.56.192:2888:3888:participant;2181
server.2=10.62.56.192:2889:3889:participant;2182
server.3=0.0.0.0:2890:3890:participant;2183
結果是唯一的ZK1可以啓動, zk2和zk3無法啓動。該錯誤是
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: client address for this server (id = 2) in static config file is 0.0.0.0/0.0.0.0:2181 is different from client address found in dynamic file: /0.0.0.0:2182
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.setupClientPort(QuorumPeerConfig.java:608)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.setupQuorumPeerConfig(QuorumPeerConfig.java:506)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:157)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:110)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:79)
無效的配置,在退出異常
的一點是,我們必須自己將節點配置爲0.0.0.0。
我試過這種方式,但錯誤是Pod的端口2888不能綁定到服務的主機名。這就是我使用0.0.0.0的原因。 –
錯誤是**無法綁定到/172.254.2.198:2888 java.net.BindException:無法分配請求的地址** –