模擬 Zookeeper 某節點宕機后修復工作


說明

不可避免的,zookeeper集群出現某個節點由於各種原因導致服務掛了,那么此時就需要進行對該節點的修復工作,那么下面開始介紹;

本次的操作是基於前一篇的 CentOS 7 Zookeeper 介紹 及 集群安裝

模擬 leader 宕機后,恢復zookeeper服務后重新加入到集群中。

模擬宕機

在當前集群中,leader節點為 node03,那么直接手動停止服務后,直接刪除服務的所有文件;

[root@node03 zookeeper_cluster]# /opt/zookeeper_cluster/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper_cluster/bin/../conf/zoo.cfg
Mode: leader
# 這里能看到當前是leader
[root@node03 zookeeper_cluster]# /opt/zookeeper_cluster/bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper_cluster/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[root@node03 zookeeper_cluster]# /opt/zookeeper_cluster/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper_cluster/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
# 這里已經提醒不在運行

下面刪除服務文件

[root@node03 ~]# ls -ld /opt/zookeeper*
drwxr-xr-x 12 root root 4096 Mar  1 01:02 /opt/zookeeper-3.4.13
lrwxrwxrwx  1 root root   21 Mar  1 00:50 /opt/zookeeper_cluster -> /opt/zookeeper-3.4.13
[root@node03 ~]# rm -rf /opt/zookeeper*

恢復

服務安裝

cd /opt/soft/

tar xf zookeeper-3.4.13.tar.gz 

mv zookeeper-3.4.13 /opt/

ln -s /opt/zookeeper-3.4.13 /opt/zookeeper_cluster

ls -ld /opt/zookeeper*

# drwxr-xr-x 10  501 games 4096 Jul  1  2018 /opt/zookeeper-3.4.13
# lrwxrwxrwx  1 root root    21 Mar  1 00:50 /opt/zookeeper_cluster -> /opt/zookeeper-3.4.13

服務配置

這里只操作node03

mkdir /opt/zookeeper_cluster/{data,logs}

echo "3" > /opt/zookeeper_cluster/data/myid

cd /opt/zookeeper_cluster/conf/

cat > zoo.cfg <<EOF
tickTime=2000
initLimit=10
syncLimit=5
dataLogDir=/opt/zookeeper_cluster/logs
dataDir=/opt/zookeeper_cluster/data
clientPort=2181
autopurge.snapRetainCount=500
autopurge.purgeInterval=24
server.1=172.16.1.11:2888:3888
server.2=172.16.1.12:2888:3888
server.3=172.16.1.13:2888:3888
EOF

啟動測試

[root@node03 conf]# /opt/zookeeper_cluster/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper_cluster/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@node03 conf]# /opt/zookeeper_cluster/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper_cluster/bin/../conf/zoo.cfg
Mode: follower
# 這里提示,已經加入到集群中

此時再次查看其它兩台 狀態,發現node01 現在是leader

[root@node01 zookeeper_cluster]# /opt/zookeeper_cluster/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper_cluster/bin/../conf/zoo.cfg
Mode: leader


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM