我想在版本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:无法分配请求的地址** –