1. 准备三个虚拟机:
    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