当前位置:   article > 正文

centos7安装zookeeper集群

centos7安装zookeeper集群

下载zookeeper-3.4.14 并解压

tar zxvf zookeeper-3.4.14.tar.gz

mv zookeeper-3.4.14  /usr/local/

zookeeper集群至少需要3台服务器.否则会报如下错误

关闭防火墙

systemctl stop firewalld

复制conf文件夹下zoo_sample.cfg 并重命名为zoo.cfg

并修改成如下配置

 

centos7 安装zookeeper集群

 

 

下载zookeeper-3.4.14 并解压

tar zxvf zookeeper-3.4.14.tar.gz

mv zookeeper-3.4.14  /usr/local/zookeeper

 

zookeeper集群至少需要3台服务器.否则会报如下错误

关闭防火墙

systemctl stop firewalld

 

复制/usr/local/zookeeper /conf文件夹下zoo_sample.cfg 并重命名为zoo.cfg

并修改成如下配置

 

tickTime=2000

dataDir=/usr/local/zookeeper-3.4.14/data

dataLogDir=/usr/local/zookeeper-3.4.14/logs

clientPort=2181

initLimit=5

syncLimit=2

 

server.1=172.16.129.83:2888:3888

server.2=172.16.129.86:2888:3888

server.3=172.16.129.207:2888:3888

server.4=172.16.129.6:2888:3888

server.5=172.16.129.32:2888:3888

server.6=172.16.129.14:2888:3888

 

创建data和log文件夹

mkdir -p /usr/local/zookeeper-3.4.14/data

mkdir -p /usr/local/zookeeper-3.4.14/logs

 

根据server的ip对应的值在data下创建一个myid文件

在172.16.129.83上执行

cat >/usr/local/zookeeper-3.4.14/data/myid<<EOF

1

EOF

 

在172.16.129.86上执行

cat >/usr/local/zookeeper-3.4.14/data/myid <<EOF

2

EOF

 

其余机子也是如此  注意myid 如果是如下所示会报zoo.cfg错误 注意空行

 

 

启动zookeeper

/usr/local/zookeeper-3.4.14/bin/zkServer.sh start

这样启动之后 发现zookeeper 显示启动成功但是查看status 是不正常启动

/usr/local/zookeeper-3.4.14/bin/zkServer.sh status

 

查看端口发现3888并没有启动

2181是zookeeper客户端连接的端口,所以进程号32143启动起来的,监听37271端口,但是zookeeper没有配置这个端口,而是配置2888,3888端口,正常情况下作为follower的时候是3888端口监听中,用于选举leader通讯。出现这个情况不得而知。重新启动该进程,上面一个端口号在不断的变化。至此问题是找到了,就是服务端进程没有监听配置的3888端口,而是监听了随机端口导致其它服务器进程无法与之通讯,所以看到了这个异常。

 

 

后来找到了一篇大佬分析源码的文章,

https://blog.csdn.net/u014284000/article/details/74508963#commentBox

 

 

ip地址不是本机网卡

原因很简单,这是云服务器,云服务器采用虚拟化的技术,监听的网卡是属于物理网关的网卡,而虚拟化机内部自然没有这个网卡。

 

这个时候真正的原因找到了,解决办法就是让服务器进程监听0.0.0.0的ip地址,也就是监听所有网卡。

 

QuorumCnxManager.java

发现前边有一个listenOnAllIPs这个参数,如果他是true,那么问题就解决了。于是向上级跟踪。找到QuorumPeerConfig.java中

 

 

 

于是在zoo.cfg中添加了

quorumListenOnAllIPs=true 解决

 

 

tickTime=2000

dataDir=/usr/local/zookeeper-3.4.14/data

dataLogDir=/usr/local/zookeeper-3.4.14/logs

clientPort=2181

initLimit=5

syncLimit=2

#server.1=172.16.129.83:3888

#server.2=172.16.129.86:3888

#server.3=172.16.129.207:3888

#server.4=172.16.129.6:3888

#server.5=172.16.129.32:3888

#server.6=172.16.129.14:3888

quorumListenOnAllIPs=true

server.1=172.16.129.83:2888:3888

server.2=172.16.129.86:2888:3888

server.3=172.16.129.207:2888:3888

server.4=172.16.129.6:2888:3888

server.5=172.16.129.32:2888:3888

server.6=172.16.129.14:2888:3888

 

 

 

 

 

大佬原文

https://blog.csdn.net/u014284000/article/details/74508963#commentBox

 

 

这样启动之后 发现zookeeper 显示启动成功但是查看status 是不正常启动

 

 

 

 

查看端口发现3888并没有启动

2181是zookeeper客户端连接的端口,所以进程号32143启动起来的,监听37271端口,但是zookeeper没有配置这个端口,而是配置2888,3888端口,正常情况下作为follower的时候是3888端口监听中,用于选举leader通讯。出现这个情况不得而知。重新启动该进程,上面一个端口号在不断的变化。至此问题是找到了,就是服务端进程没有监听配置的3888端口,而是监听了随机端口导致其它服务器进程无法与之通讯,所以看到了这个异常。

 

 

后来找到了一篇大佬分析源码的文章,

https://blog.csdn.net/u014284000/article/details/74508963#commentBox

 

 

ip地址不是本机网卡

原因很简单,这是云服务器,云服务器采用虚拟化的技术,监听的网卡是属于物理网关的网卡,而虚拟化机内部自然没有这个网卡。

 

这个时候真正的原因找到了,解决办法就是让服务器进程监听0.0.0.0的ip地址,也就是监听所有网卡。

 

QuorumCnxManager.java

发现前边有一个listenOnAllIPs这个参数,如果他是true,那么问题就解决了。于是向上级跟踪。找到QuorumPeerConfig.java中

 

 

 

于是在zoo.cfg中添加了

quorumListenOnAllIPs=true 解决

 

 

tickTime=2000

dataDir=/usr/local/zookeeper-3.4.14/data

dataLogDir=/usr/local/zookeeper-3.4.14/logs

clientPort=2181

initLimit=5

syncLimit=2

#server.1=172.16.129.83:3888

#server.2=172.16.129.86:3888

#server.3=172.16.129.207:3888

#server.4=172.16.129.6:3888

#server.5=172.16.129.32:3888

#server.6=172.16.129.14:3888

quorumListenOnAllIPs=true

server.1=172.16.129.83:2888:3888

server.2=172.16.129.86:2888:3888

server.3=172.16.129.207:2888:3888

server.4=172.16.129.6:2888:3888

server.5=172.16.129.32:2888:3888

server.6=172.16.129.14:2888:3888

 

 

 

 

 

大佬原文

https://blog.csdn.net/u014284000/article/details/74508963#commentBox

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/851248
推荐阅读
相关标签
  

闽ICP备14008679号