zookeeper的集群搭建

2023-03-20  本文已影响0人  断水流大师兄vs魔鬼筋肉人

获取包地址:官网地址


启动需要java环境变量
解压安装包后
cd /usr/local/zookeeper-3.4.6/conf/
cp zoo_sample.cfg   zoo.cfg
配置文件内容:
tickTime=2000
initLimit=10
syncLimit=5
#数据目录,也是文件/usr/local/zookeeper-3.4.6/data/myid存放的目录
dataDir=/usr/local/zookeeper-3.4.6/data/  
clientPort=2182
#集群节点数
server.1=10.10.10.7:2888:3888
server.2=10.10.10.8:2888:3888
server.3=10.10.10.9:2888:3888
# 指定清理频率,单位是小时,默认是0,表示不开启自己清理功能。
autopurge.purgeInterval=6
# 和上面的参数搭配使用,指定需要保留的文件数目,默认是保留3个。
autopurge.snapRetainCount=5

每个节点分别写入:注意myid 和节点IP对应,我搞错过一次,一直失败。

10.10.10.7    echo 1 > /usr/local/zookeeper-3.4.6/data/myid
10.10.10.8    echo 2 > /usr/local/zookeeper-3.4.6/data/myid
10.10.10.9    echo 3 > /usr/local/zookeeper-3.4.6/data/myid

启动:

3台主机上分别启动:
sh bin/zkServer.sh  start
备注:在集群启动过程中,当有一台zookeeper节点s1启动完成后,此时集群中只有一个节点无法进行leader的选举。
当第二个节点s2启动成功后,此时两个节点可以正常通信,进入leader的选举过程

重启命令:
sh bin/zkServer.sh restart
查看节点状态:
sh bin/zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
查看同步状态:
 [root@10-7 zookeeper-3.4.6]# echo mntr|nc 10.10.10.7 2182
zk_version      3.4.6-1569965, built on 02/20/2014 09:09 GMT
zk_avg_latency  0
zk_max_latency  335
zk_min_latency  0
zk_packets_received     1424995
zk_packets_sent 1425026
zk_num_alive_connections        5
zk_outstanding_requests 0
zk_server_state follower
zk_znode_count  1196   
zk_watch_count  145
zk_ephemerals_count     24
zk_approximate_data_size        109309
zk_open_file_descriptor_count   36
zk_max_file_descriptor_count    62235

问题1:状态不对


不管它直接启动下一个节点,启动第二个节点后,第二个会选举自己为leader ,它检测到第一个节点后,第一个节点自己会变成follower

问题2:myid和主机IP不对应。

WARN Cannot open channel to 2 at election address /0.0.0.0:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager) 
java.net.ConnectException: Connection refused (Connection refused) 
 at java.net.PlainSocketImpl.socketConnect(Native Method) 
 at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 
 at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:204) 
 at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
 at java.net.Socket.connect(Socket.java:607) 
 at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558) 
 at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:534) 
 at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$Work

日志切割功能:

修改 conf/log4j.properties和 bin/zkEnv.sh (重启生效)


conf/log4j.properties
bin/zkEnv.sh
上一篇 下一篇

猜你喜欢

热点阅读