Zookeeper:安装、集群搭建

来自Wikioe
Eijux讨论 | 贡献2021年5月14日 (五) 23:37的版本 →‎集群搭建
跳到导航 跳到搜索

安装

在安装ZooKeeper之前,请确保你的系统是在以下任一操作系统上运行:

  • 任意Linux OS - 支持开发和部署。适合演示应用程序。
  • Windows OS - 仅支持开发。
  • Mac OS - 仅支持开发。

ZooKeeper服务器是用Java创建的,它在JVM上运行。你需要使用JDK 6或更高版本。


zookeeper 下载地址为: https://zookeeper.apache.org/releases.html

Zookeeper:下载.png

Linux


安装步骤:

  1. 使用 wget 命令下载,并提取文件:
    $ wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
    $ tar -zxvf zookeeper-3.4.14.tar.gz
    
  2. 创建数据目录:
    $ cd zookeeper-3.4.14
    $ mkdir data
    
  3. 创建并修改配置文件“zoo.cfg”:
    $ cd zookeeper-3.4.14
    $ cd conf/
    $ cp zoo_sample.cfg zoo.cfg
    $ vi zoo.cfg
    
    tickTime = 2000
    dataDir = ../data
    clientPort = 2181
    initLimit = 5
    syncLimit = 2
    
  4. 启动 ZooKeeper 服务器:
    $ bin/zkServer.sh start
    $ JMX enabled by default
    $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
    $ Starting zookeeper ... STARTED
    
  5. 查看服务端状态(启动单机节点):
    $ bin/zkServer.sh status
    $ JMX enabled by default
    $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
    Mode: standalone
    

帮助命令

启动客户端:

$ sh zkCli.sh

帮助命令:

ZooKeeper -server host:port cmd args
        stat path [watch]
        set path data [version]
        ls path [watch]
        delquota [-n|-b] path
        ls2 path [watch]
        setAcl path acl
        setquota -n|-b val path
        history 
        redo cmdno
        printwatches on|off
        delete path [version]
        sync path
        listquota path
        rmr path
        get path [watch]
        create [-s] [-e] path data acl
        addauth scheme auth
        quit 
        getAcl path
        close 
        connect host:port

Windows


安装步骤:

  1. 下载文件并解压:
    Zookeeper:安装(Windows):下载文件并解压.png
  2. 创建数据、日志目录:
    Zookeeper:安装(Windows):创建数据、日志目录.png
  3. 创建并修改配置文件“zoo.cfg”:(从conf目录下的“zoo_sample.cfg”文件复制而来)
    Zookeeper:安装(Windows):创建并修改配置文件“zoo.cfg”1.png
    Zookeeper:安装(Windows):创建并修改配置文件“zoo.cfg”2.png
  4. 启动 ZooKeeper 服务器:(双击 zkServer.cmd 启动程序)
    Zookeeper:安装(Windows):启动 ZooKeeper 服务器1.png
    Zookeeper:安装(Windows):启动 ZooKeeper 服务器2.png
    控制台显示“bind to port 0.0.0.0/0.0.0.0:2181”,表示服务端启动成功!
  5. 启动 ZooKeeper 客户端:
    Zookeeper:安装(Windows):启动 ZooKeeper 客户端.png

集群搭建

【本章节将示范三台 zookeeper 服务端集群搭建步骤】

准备工作,创建三台虚拟机环境并安装好 java 开发工具包 JDK,可以使用 VM 或者 vagrant+virtualbox 搭建 centos/ubuntu 环境。

  • 以下,基于宿主机 windows10 系统同时使用 vagrant+virtualbox 搭建的 centos7 环境,如果直接使用云服务器或者物理机同理


zookeeper 的三个端口作用

  1. 2181 : 对 client 端提供服务;
  2. 2888 : 集群内机器通信使用;
  3. 3888 : 选举 leader 使用;


文件:Zookeeper:集群搭建.png


搭建步骤:

  1. 准备三台 zookeeper 环境:
    • 查看 ip 地址可以用 ifconfig 命令;
    IP:192.168.3.33
    Zookeeper:集群搭建:节点1:环境.png
    IP:192.168.3.35
    Zookeeper:集群搭建:节点2:环境.png
    IP:192.168.3.37
    Zookeeper:集群搭建:节点3:环境.png
  2. 修改集群配置:
    1. 三台虚拟机 zoo.cfg 文件末尾添加配置“server.id = ip:port:port”:
      server.1=192.168.3.33:2888:3888
      server.2=192.168.3.35:2888:3888
      server.3=192.168.3.37:2888:3888
      
    2. 根据 id 和对应的地址分别配置 myid:
      vim /tmp/zookeeper/myid
      
    完成后查询显示如下:
    IP:192.168.3.33(该机器启动过,所以出现 version-2)
    文件:Zookeeper:集群搭建:节点1:myid.png
    IP:192.168.3.35
    文件:Zookeeper:集群搭建:节点2:myid.png
    IP:192.168.3.37
    文件:Zookeeper:集群搭建:节点3:myid.png
  3. 启动集群:
    • 启动前需要关闭防火墙(生产环境需要打开对应端口)
      systemctl stop firewalld
      
    启动 192.168.3.33 并查看日志,此时日志出现报错是正常现象:(因为另外两台还没启动,暂时连接不上)
    Zookeeper:集群搭建:节点1:启动.png
    另两台分别启动后,查看三台机器状态:
    IP:192.168.3.33
    Zookeeper:集群搭建:节点1:状态.png
    IP:192.168.3.35
    Zookeeper:集群搭建:节点2:状态.png
    IP:192.168.3.37
    Zookeeper:集群搭建:节点3:状态.png


集群搭建成功!

Mode:leader 代表主节点,follower 代表从节点,一主二从。