美文网首页
Zookeeper | Zookeeper集群的安装部署

Zookeeper | Zookeeper集群的安装部署

作者: Ada54 | 来源:发表于2021-06-25 16:52 被阅读0次

    一、安装环境

    Zookeeper集群最好至少安装3个节点,端口使用默认端口:2181。
    JDK安装了1.8.0_161,JDK安装链接:https://www.jianshu.com/p/cff2b88883e4

    图片.png

    二、安装过程

    1.下载安装包,解压

    官网推荐下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

    图片.png
    注:下载带bin的安装包,已经编译过的。没有带bin的为源码包,需要编译打包才能使用。
    ##下载
    [root@node01 local]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
    ##解压
    [root@node01 local]# tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz 
    ## 得到apache-zookeeper-3.6.3压缩包,重命名为zookeeper
    [root@node01 local]# mv apache-zookeeper-3.6.3 zookeeper
    

    解压后的目录:


    图片.png

    2.编辑配置文件

    ##进入conf目录
    [root@node01 zookeeper]# cd conf/
    ##重命名配置文件为zoo.cfg
    [root@node01 conf]# mv zoo_sample.cfg zoo.cfg
    ##修改配置文件zoo.cfg
    [root@node01 conf]# vim zoo.cfg
    
    图片.png

    其他两台安装配置过程一样。

    3.添加myid文件

    注:集群模式下需新增一个myid的文件,存放在配置文件中那个dataDir指定的目录下,这个文件需配置对应server.x的这个x[1,2,3]值,zookeeper启动时会读取myid文件的这个值与 zoo.cfg 里面的配置信息比较,从而判断是哪个服务器节点。

    ##进入dataDir指定的目录下编辑myid,server1对应写上1,server2为2,server3为3
    [root@node01 zookeeper]# vim myid
    [root@node01 zookeeper]# cat myid 
    1
    
    图片.png
    图片.png
    图片.png

    4.启动

    进入zookeeper的bin目录,可找到启动脚本


    图片.png
    查看启动方法,输入./zkServer.sh,直接回车查看:
    图片.png
    启动zookeeper服务:
    [root@node01 bin]# ./zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    
    输入 jps,可查看到已启动了zk的QuorumPeerMain主进程
    [root@node01 zookeeper]# jps
    7240 Jps
    6843 QuorumPeerMain
    

    然后分别启动其他两台zookeeper。

    5.查看节点状态

    当三台节点都启动后,查看他们在集群中的状态。可看到节点1被选举为主节点,其余两个为从节点。


    节点1.png
    节点2.png
    节点3.png

    zookeeper集群部署成功

    6. 测试集群

    若节点1断开,另外两台会通过之前设定的3888这个端口来重新选举leader,可看出节点3被选举为新的主节点。


    图片.png
    图片.png

    7.一键启动Zookeeper集群

    编写批量启动zk的脚本
    [root@node01 zookeeper]# vim zk_run_all.sh 
    

    脚本内容:

    #!/bin/bash
    
    case $1 in
    "start"){
     for node in node01 node02 node03
      do
        echo "---------$node---------"
        ssh $node "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh start"
      done
    };;
    "stop"){
     for node in node01 node02 node03
      do
        echo "---------$node---------"
        ssh $node "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh stop"
      done
    };;
    esac
    
    

    node01,node02,node03是三台节点的hostname。先vim /etc/hosts 进行节点ip和hostname的映射。然后通过ssh hostname远程登入后进行操作。

    给脚本赋权
    [root@node01 zookeeper]# chmod +x zk_run_all.sh
    
    运行启动脚本
    [root@node01 zookeeper]# sh zk_run_all.sh start
    ---------node01---------
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    ---------node02---------
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    ---------node03---------
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    

    参考链接:
    https://www.cnblogs.com/ding2016/p/8280696.html

    相关文章

      网友评论

          本文标题:Zookeeper | Zookeeper集群的安装部署

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