Zookeeper部署
环境准备
Zookeeper: 3.8.1
安装Zookeeper
从Zookeeper官网下载好安装包
1 | tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz -C /mysoft/ |
配置环境变量
1 | #ZooKeeper environment variables |
1 | source /etc/profile |
Zookeeper全分布式
1 | cd $ZOOKEEPER_HOME |
配置zoo.cfg
1 | cp zoo_sample.cfg zoo.cfg |
修改dataDir
1
dataDir=/mysoft/apache-zookeeper-3.8.1/zkData
添加如下内容1
2
3
4#cluser cinfiguration
server.1=hsq01:2888:3888
server.2=hsq02:2888:3888
server.3=hsq03:2888:3888
端口号后面千万不要留有空格!!!
- 其中,“1” “2” “3”是
myid
,要求是1~255的整数;hsq01代表对应主机地址 2888
是Leader
端口,负责和Follower
进行通信3888
是Follower
端口,负责推选Leader
新建dataDir
目录
1 | mkdir /mysoft/apache-zookeeper-3.8.1/zkData |
在该目录下新建文件myid
,并填写内容1
1
将Zookeeper目录及Zookeeper环境分发到其他主机
1 | for i in {2..3}; do scp -r /mysoft/apache-zookeeper-3.8.1/ hsq0$i:/mysoft/;done |
修改myid
文件
- 02虚拟机改为
2
- 03虚拟机改为
3
使环境变量生效
每台虚拟机分别执行source /etc/profile
启动Zookeeper服务
1 | zkServer.sh start |
查看各虚拟机的Zookeeper服务启动状态
1 | zkServer.sh status |
启动和关闭Zookeeper集群
启动和关闭Zookeeper集群需要在每台虚拟机上启动和关闭Zookeeper服务器。如果使用的虚拟机很多,效率会非常低。
为了方便的使用Zookeeper集群,可以编写启动脚本xzk.sh
。
(1)在虚拟机hsq01的目录/usr/local/bin/下新建xzk.sh
脚本文件1
2
3
4
5
6
7
8
9
cmd=$1
if [ $# -gt 1 ] ; then echo param must be 1 ; exit ; fi
for (( i=1 ; i<=3 ; i++ )) ; do
tput setaf 5
echo ============ hsq0$i $@ ============
tput setaf 9
ssh hsq0$i "source /etc/profile ; zkServer.sh $cmd"
done
(2)为xzk.sh
脚本添加执行权限1
chmod u+x xzk.sh
(3)通过xzk.sh
脚本的start和stop命令,就可以在虚拟机01上同时启动和关闭所有虚拟机的Zookeeper服务器1
2
3xzk.sh start
xzk.sh stop
xzk.sh status