Zookeeper 集群环境安装过程

目录

Zookeeper 概述

Zookeeper 是分布式开源框架,提供分布式协调基本服务,包括分布式同步、命名服务、集群维护等。本文介绍集群环境的安装与配置。

集群要求:Zookeeper 集群需要一半以上机器正常启动才能可用,因此建议使用奇数台机器(如 5 台需 3 台正常工作)。

下载与解压

tar -xzvf zookeeper-3.4.5.tar.gz
# 解压到 /home/haduser/zookeeper 目录

环境变量配置

编辑 /etc/profile,增加:

export ZOOKEEPER_HOME=/home/haduser/zookeeper/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

集群配置

配置 zoo.cfg

cd zookeeper-3.4.5/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

关键配置项:

tickTime=2000
dataDir=/home/haduser/zookeeper/zookeeper-3.4.5/data
clientPort=2181

# 集群配置(server.id=host:port1:port2)
# port1:Follower 连接 Leader 的端口
# port2:Leader 选举的端口
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

创建 myid 文件

dataDir 指定的目录下创建 myid 文件,内容为本机对应的 id(与 server.id 中的 id 对应):

echo "1" > /home/haduser/zookeeper/zookeeper-3.4.5/data/myid

分布式部署

从 master 复制安装文件到其他机器:

scp -r zookeeper-3.4.5/ haduser@slave1:/home/haduser/zookeeper/
scp -r zookeeper-3.4.5/ haduser@slave2:/home/haduser/zookeeper/

修改各机器上的 myid(slave1 改为 2,slave2 改为 3):

# 在 slave1 上
echo "2" > /home/haduser/zookeeper/zookeeper-3.4.5/data/myid
cat /home/haduser/zookeeper/zookeeper-3.4.5/data/myid

# 在 slave2 上
echo "3" > /home/haduser/zookeeper/zookeeper-3.4.5/data/myid

启动集群

在 Zookeeper 集群的每个节点上执行:

cd zookeeper-3.4.5
bin/zkServer.sh start

验证启动状态(在每个节点上查询):

bin/zkServer.sh status

输出示例

  • slave1:Leader
  • slave2、master:Follower

使用客户端连接集群:

bin/zkCli.sh -server master:2181

停止集群

bin/zkServer.sh stop

#zookeeper #hadoop #java