美文网首页
02 ZooKeeper集群搭建

02 ZooKeeper集群搭建

作者: 攻城狮哦哦也 | 来源:发表于2019-10-23 21:14 被阅读0次

    1 安装

    下载地址:
    http://www.apache.org/dyn/closer.cgi/zookeeper/
    生产环境中有线下载stable版本
    目录结构:
    bin 存放系统脚本
    conf 存放配置文件
    contrib zk附加功能支持
    dist-maven maven仓库文件
    docs zk文档
    lib 依赖的第三方库
    recipes 经典场景样例代码
    src zk源码
    下载完成后将tar包拷入虚拟机 /usr/local/src下

    # 解压zookeeper到/usr/local并重命名
    tar -zxvf zookeeper-3.4.12.tar.gz -C ../
    cd ..
    mv zookeeper-3.4.12 zookeeper
    

    2 JDK环境变量配置

    vi /etc/profile
    # 进入编辑模式
    export JAVA_HOME=/usr/local/jdk1.8.0_221
    export ZOOKEEPER_HOME=/usr/local/zookeeper
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
    # 保存后执行使环境变量生效
    source /etc/profile
    

    3 Zookeeper配置

    重命名 zoo_sample.cfg

    cd /usr/local/zookeeper/conf
    # 重命名zoo_sample.cfg --> zoo.cfg
    mv zoo_sample.cfg zoo.cfg
    

    修改 zoo.cfg

    # 如果没有该目录需要手动创建
    dataDir=/usr/local/zookeeper/data
    # 文件末尾添加3个节点(IP换成自己的集群)
    server.0=192.168.204.131:2888:3888
    server.1=192.168.204.132:2888:3888
    server.2=192.168.204.133:2888:3888
    

    创建服务器标识

    cd /usr/local/zookeeper/data
    # 创建文件myid
    touch myid
    # 将标识写入myid
    echo 0 > myid
    

    将此环境拷入剩余两个节点

    scp -r /usr/local/zookeeper/ root@192.168.204.132:/usr/local/zookeeper
    scp -r /usr/local/jdk1.8.0_221/ root@192.168.204.132:/usr/local/jdk1.8.0_221
    scp -r /etc/profile root@192.168.204.132:/etc/profile
    

    分别进入剩余两个节点:

    # 环境变量生效
    source /etc/profile
    # 更改服务标识
    echo 1 > /usr/local/zookeeper/data/myid
    echo 2 > /usr/local/zookeeper/data/myid
    

    启动Zookeeper
    路径 /usr/local/zookeeper/bin/

    集群启动(所有zk服务都必须启动)
    zkServer.sh start
    # 查看节点状态
    zkServer.sh status
    

    5 启动报错解决方案

    没有到主机的路由 (Host unreachable)

    # 关闭防火墙
    systemctl stop firewalld
    # 查看防火墙状态
    systemctl status firewalld
    

    拒绝连接 (Connection refused)
    启动的顺序是slave-01>slave-02>slave-03

    由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以上面日志前面部分的异常是可以忽略的。通过后面部分可以看到,集群在选出一个Leader后,最后稳定了。

    其他结点可能也出现类似问题,属于正常。

    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Mode: leader
    
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Mode: follower
    

    相关文章

      网友评论

          本文标题:02 ZooKeeper集群搭建

          本文链接:https://www.haomeiwen.com/subject/fjnkvctx.html