Zookeeper集群的搭建

Zookeeper的简单简绍

  • zookeeper有单机、伪集群、集群三种部署方式,可根据自己对可靠性的需求选择合适的部署方式。下边对这三种部署方式逐一进行讲解。

一、Zookeeper单机安装

  1. 解压缩tar -zxf zookeeper-3.4.5.tar.gz
  2. 在主目录下创建data和logs两个目录用于存储数据和日志
    cd /usr/myapp/zookeeper-3.4.5 mkdir datamkdir logs
    在conf目录下新建zoo.cfg文件,写入以下内容保存
    tickTime=2000
    dataDir=/usr/myapp/zookeeper-3.4.5/data
    dataLogDir=/usr/myapp/zookeeper-3.4.5/logs clientPort=2181
  1. 启动和停止 进入bin目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)
   ./zkServer.sh start
   ./zkServer.sh stop
   ./zkServer.sh restart 
   ./zkServer.sh status

二、Zookeeper伪分布式安装

  1. 伪集群模式就是在同一主机启动多个zookeeper并组成集群,下边以在192.168.0.150主机上创3个zookeeper组集群为例。 将通过第一大点安装的zookeeper,复制成zookeeper1/zookeeper2/zookeeper3三份

  2. zookeeper1配置 zookeeper1配置文件conf/zoo.cfg修改如下

    tickTime=2000
    dataDir=/usr/myapp/zookeeper1/data
    dataLogDir=/usr/myapp/zookeeper1/logs
    clientPort=2181
    initLimit=5
    syncLimit=2
    server.1=192.168.0.150:2888:3888
    server.2=192.168.0.150:4888:5888
    server.3=192.168.0.150:6888:7888
    
    zookeeper1的data/myid配置如下 
    echo '1' > data/myid
    
  3. zookeeper2配置 zookeeper2配置文件conf/zoo.cfg修改如下

    tickTime=2000 
    dataDir=/usr/myapp/zookeeper2/data
    dataLogDir=/usr/myapp/zookeeper2/logs 
    clientPort=3181 
    initLimit=5
    syncLimit=2
    server.1=192.168.0.150:2888:3888
    server.2=192.168.0.150:4888:5888
    server.3=192.168.0.150:6888:7888
    
    zookeeper2的data/myid配置如下
    echo '2' > data/myid
    
  4. zookeeper3配置 zookeeper3配置文件conf/zoo.cfg修改如下

 tickTime=2000 
 dataDir=/usr/myapp/zookeeper3/data
 dataLogDir=/usr/myapp/zookeeper3/logs 
 clientPort=4181 
 initLimit=5
 syncLimit=2 
 server.1=192.168.0.150:2888:3888
 server.2=192.168.0.150:4888:5888
 server.3=192.168.0.150:6888:7888
 
  zookeeper3的data/myid配置如下
  echo '3' > data/myid
  1. 最后在bin目录下使用./zkServer.sh start开启
    使用./zkServer.sh status查看状态

三、Zookeeper集群模式

  • 集群模式就是在不同主机上安装zookeeper然后组成集群的模式;下边以在192.168.0.150/151/152三台主机为例。
conf/zoo.cfg文件修改三个zookeeper的conf/zoo.cfg修改如下

tickTime=2000
dataDir=/usr/myapp/zookeeper-3.4.5/data
dataLogDir=/usr/myapp/zookeeper-3.4.5/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.0.150:2888:3888
server.2=192.168.0.151:2888:3888
server.3=192.168.0.152:2888:3888
  • 对于129和130,由于安装目录都是zookeeper-3.4.5所以dataDir和dataLogDir不需要改变,又由于在不同机器上所以clientPort也不需要改变所以此时151和152的conf/zoo.cfg的内容与150一样即可。

data/myid文件修改

150 data/myid修改如下
echo '1' > data/myid

151 data/myid修改如下
echo '2' > data/myid

152 data/myid修改如下
echo '3' > data/myid
  • 最后使用命令把三个zookeeper都启动即可,启动顺序随意没要求。