0. 说明
ZooKeeper 安装在 s102、s103、s104上,这三个节点同时是 Hadoop 的 DataNode
1. ZooKeeper 本地模式安装配置
1.0 在 s101 上进行安装配置
将 ZooKeeper 的安装包通过 Xftp 发送到 centos 用户的 home 目录
1.1 解压 ZooKeeper 安装包到指定目录
tar -xzvf zookeeper-3.4.10.tar.gz -C /soft/
1.2 为 ZooKeeper 创建符号链接
cd /soft/
ln -s zookeeper-3.4.10 zk
1.3 为 ZooKeeper 配置环境变量
# 编辑环境变量配置文件 sudo vim /etc/profile # 配置 ZooKeeper 环境变量 export ZK_HOME=/soft/zk export PATH=$PATH:$ZK_HOME/bin
1.4 使环境变量生效
source /etc/profile
1.5 将 zk/conf/zoo_sample.cfg 重命名或复制一份命名为 zoo.cfg( /soft/zk/conf 目录)
# 重命名
mv zoo_sample.cfg zoo.cfg
# 复制
cp zoo_sample.cfg zoo.cfg
1.6 启动 ZooKeeper
zkServer.sh start
2. ZooKeeper 完全分布式安装配置
2.1 修改 zoo.cfg 文件,指定工作目录
# 编辑 zoo.cfg
sudo vim zoo.cfg
dataDir=/home/centos/zookeeper
server.102=s102:2888:3888
server.103=s103:2888:3888
server.104=s104:2888:3888
2.2 将 ZooKeeper 文件夹同步到其他节点
xsync.sh /soft/zookeeper-3.4.10 xsync.sh /soft/zk
2.3 使用 root 用户权限,将环境变量同步到其他节点
# 登陆 root 用户 su root # 分发环境变量配置文件 xsync.sh /etc/profile # 退出 root 用户 exit
2.4 在 s102-s104 中创建文件夹 /home/centos/zookeeper ,并在文件夹内创建文件 myid
# 创建文件夹 xcall.sh "mkdir /home/centos/zookeeper" # 添加 myid ssh s102 "echo 102 > /home/centos/zookeeper/myid" ssh s103 "echo 103 > /home/centos/zookeeper/myid" ssh s104 "echo 104 > /home/centos/zookeeper/myid"
2.5 按顺序启动 s102-s104 的 ZooKeeper ,分别在 s102、s103、s104 上执行以下命令
# 使环境变量生效
source /etc/profile
# 启动 ZooKeeper
zkServer.sh start
2.6 在 s101 开启远程主机 ZooKeeper 客户端
zkCli.sh -server s102:2181
2.7 查看状态,可以看出 leader、follower
zkServer.sh status
2.8 关闭 ZooKeeper
zkServer.sh stop