首页 > 解决方案 > 跨不同 Kubernetes 集群创建 Zookeeper 集群

问题描述

我目前正在尝试安装一个 Zookeeper(版本 3.5.6)集群,它将跨两个不同的裸机 Kubernetes 集群运行。

Metallb 用于暴露 IP 和端口。

到目前为止,我只是想让 Zookeeper 集群在单个 Kubernetes 集群中工作,它的 IP 和端口都暴露在外部。

为了公开 IP,我为每个 Zookeeper 实例提供以下配置:

server.1=0.0.0.0:2888:3888:participant;2181
server.2=xx.xx.xx.xx:31029:31030:participant;31031
server.3=xx.xx.xx.xx:31032:31033:participant;31034

server.1=xx.xx.xx.xx:31026:31027:participant;31029
server.2=0.0.0.0:2888:3888:participant;2181
server.3=xx.xx.xx.xx:31032:31033:participant;31034

server.1=xx.xx.xx.xx:31026:31027:participant;31029
server.2=xx.xx.xx.xx:31029:31030:participant;31031
server.3=0.0.0.0:2888:3888:participant;2181

其中“xx.xx.xx.xx”是外部 IP。

我在两个节点上收到以下错误: 2021-06-03T14:15:16.595+0000 [myid:1] - WARN [QuorumPeer[myid=1](plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):QuorumCnxManager@679] - Cannot open channel to 2 at election address /xx.xx.xx.xx:31027 java.net.SocketTimeoutException: connect timed out.

但是,具有“server.1=0.0.0.0...”配置的一个节点确实启动了。

我的配置有什么问题吗?我怎样才能使这个设置工作?

标签: kubernetesapache-zookeepermetallb

解决方案


推荐阅读