Zookeeper 集群部署

Zookeeper 集群搭建

  • Zookeeper 下载

    示例采用 Zookeeper 3.4.11 版本,请确保在服务器上安装了 java open jdk7 运行环境,下载 Zookeeper 并解压。

  1. $ cd /opt/app
  2. $ wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
  3. $ tar -xzvf zookeeper-3.4.11.tar.gz
  4. $ mv zookeeper-3.4.11 zookeeper
  5. $ cd zookeeper
  • 修改配置文件
  1. $ cp conf/zoo_sample.cfg conf/zoo.cfg
  2. $ vim conf/zoo.cfg
  • 配置文件修改后如下
  1. tickTime=2000
  2. initLimit=10
  3. syncLimit=5
  4. dataDir=/opt/app/zookeeper/zkdata
  5. dataLogDir=/opt/app/zookeeper/logs
  6. clientPort=2181
  7. server.1=192.168.2.80:2888:3888
  8. server.2=192.168.2.81:2888:3888
  9. server.3=192.168.2.82:2888:3888
  • 创建数据目录
  1. mkdir -p /opt/app/zookeeper/zkdata
  2. mkdir -p /opt/app/zookeeper/logs

   以上安装流程三台服务器都照执行,接下来开始创建 zookeeper 集群并启动。

  • 建立 Zookeeper 节点标识文件 myid

   创建 myid 编号,依次在每台 Server 上执行,注意每台 Server 的 myid 要对应正确的编号。

  1. 192.168.2.80
  2. $ echo "1" > /opt/app/zookeeper/zkdata/myid
  1. 192.168.2.81
  2. $ echo "2" > /opt/app/zookeeper/zkdata/myid
  1. 192.168.2.82
  2. $ echo "3" > /opt/app/zookeeper/zkdata/myid
  • 启动 Zookeeper
  1. 192.168.2.80
  2. $ /opt/app/zookeeper/bin/zkServer.sh start
  1. 192.168.2.81
  2. $ /opt/app/zookeeper/bin/zkServer.sh start
  1. 192.168.2.82
  2. $ /opt/app/zookeeper/bin/zkServer.sh start
  • Zookeeper 状态检查
  1. 192.168.2.80
  2. $ /opt/app/zookeeper/bin/zkServer.sh status

   如果 Zookeeper 启动失败或报错,可能有以下几个原因:

   2、zoo.cfg 文件配置出错:dataLogDir 指定的目录未被创建。

   3、myid 文件中的整数格式不对,或者与 zoo.cfg 中的 server 整数不对应。

   4、防火墙未打开 Zookeeper 服务端口,如 28883888