- 准备三个虚拟机:
192.168.101.15 bigdata01
192.168.101.14 bigdata02
192.168.101.17 bigdata03
注意:下边的步骤都是在bigdata01这个节点上进行的操作,除特殊说明外。
1、下载安装包
cd /data/soft
# 下载zookeeper安装包
wget http://archive.apache.org/dist/zookeeper/stable/apache-zookeeper-3.6.3-bin.tar.gz
2、解压
# 解压zookeeper安装包
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
mv apache-zookeeper-3.6.3-bin zookeeper
3、修改配置文件
cd ./zookeeper/conf
# 添加zookeeper配置文件
cp zoo_sample.cfg zoo.cfg
# 创建数据存放目录
mkdir /data/soft/zookeeper/conf/data
vim zoo.cfg
# 添加如下内容
server.1=bigdata01:2188:2888
server.2=bigdata02:2188:2888
server.3=bigdata03:2188:2888
# 修改dataDir
dataDir=/data/soft/zookeeper/conf/data
# 配置文件保存退出后,进入data目录
cd data
# 生成myid文件,指定myid服务号
echo "1" > myid
4、将zookeeper目录分发到其他节点
# 分发到其他集群节点
scp -r zookeeper/ bigdata02:/data/soft
scp -r zookeeper/ bigdata03:/data/soft
5、修改其他节点的myid文件
登录 bigdata02 节点:
cd /data/soft/zookeeper/conf/data
# 指定myid服务号为 2
vim myid
登录bigdata03 节点:
cd /data/soft/zookeeper/conf/data
# 指定myid服务号为3
vim myid
编写操作zookeeper集群的脚本
cd /data/soft/zookeeper/bin
# 创建zookeeper启动脚本
vim zk.sh
# 添加如下内容
#!/bin/bash
case $1 in
"start"){
for i in bigdata01 bigdata02 bigdata03
do
echo -------------------------------- $i zookeeper 启动 ---------------------------
ssh $i "/data/soft/zookeeper/bin/zkServer.sh start"
done
}
;;
"stop"){
for i in bigdata01 bigdata02 bigdata03
do
echo -------------------------------- $i zookeeper 停止 ---------------------------
ssh $i "/data/soft/zookeeper/bin/zkServer.sh stop"
done
}
;;
"status"){
for i in bigdata01 bigdata02 bigdata03
do
echo -------------------------------- $i zookeeper 状态 ---------------------------
ssh $i "/data/soft/zookeeper/bin/zkServer.sh status"
done
}
;;
esac
# 保存退出后,修改zk.sh脚本执行权限
chmod +x ./zk.sh
脚本的命令说明:
# 启动集群命令
./zk.sh start
# 停止集群命令
./zk.sh stop
# 查看集群状态命令
./zk.sh status
8、连接zookeeper集群
# 连接zookeeper集群
cd /opt/module/zookeeper
./bin/zkCli.sh