zoukankan      html  css  js  c++  java
  • 模拟 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
    
  • 相关阅读:
    最大子列和问题(20 分)浙大版《数据结构(第2版)》题目集
    习题2.1 简单计算器(20 分)浙大版《数据结构(第2版)》题目集
    习题2.2 数组循环左移(20 分)浙大版《数据结构(第2版)》题目集
    习题2.3 数列求和-加强版(20 分)浙大版《数据结构(第2版)》题目集
    java之不同数据流应用举例
    java之java.io.File的相关方法
    java之注解
    java之枚举和注解
    java之泛型
    java之操作集合的工具类--Collections
  • 原文地址:https://www.cnblogs.com/winstom/p/12387687.html
Copyright © 2011-2022 走看看