环境:Centos7 版本:zookeeper-3.4.10.tar.gz 软件安装 配置 集群部署 验证
Zookeeper集群安装在hadoop001、hadoop002、hadoop003
软件安装
zookeeper-3.4.10.tar.gz ,解压安装
tar -zxvf zookeeper-3.4.10.tar.gz -C /root/ 解压到/root/目录
vm zookeeper-3.4.10 zookeeper #重命名
配置
工作文件夹
创建 zkData文件夹用于保存zookeeper相关数据
mkdir /root/zookeeper/zkData
zoo.cfg
cp /root/zookeeper/conf/zoo_sample.cfg /root/zookeeper/conf/zoo.cfg
#修改文件内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/zookeeper/zkData/
dataLogDir=/usr/local/zookeeper-cluster/log/
clientPort=2181
#增加内容
# server.1 这个1是服务器的标识,可以是任意有效数字,
#标识这是第几个服务器节点,这个标识要写到dataDir目录下面myid文件里
# 指名集群间通讯端口和选举端口
server.1=hadoop001:2888:3888
server.2=hadoop002:2888:3888
server.3=hadoop003:2888:3888
server .A=B:C:D
A:数字,表示第几台服务器
B:IP地址
C:这台服务器与集群中的leader服务器交换信息的端口
D:表示当集群中leader服务器无法正常运行时,需要一个端口来重新进行选举,选出一个新的leader服务器,这个端口就是用来执行选举时服务器相互通信的端口。
集群模式下配置工作目录下一个文件myid,其中数据就是A的值,Zookeeper启动时读取此文件,并将里面的数据与zoo.cfg文件配置信息进行比较,从而判断到底是哪台服务器。
myid
touch /root/zookeeper/zkData/myid
vi /root/zookeeper/zkData/myid
1 #zoo.cfg中A的值
集群部署
scp -r /root/zookeeper/ hadoop002:/root/
scp -r /root/zookeeper/ hadoop003:/root/
启动
/root/zookeeper/bin/zkServer.sh start
验证
/root/zookeeper/bin/zkServer.sh status
集群启动、停止脚本
通过执行ssh命令,分别登录集群节点服务器,然后执行启动、停止或查看服务状态的命令。
vi zk.sh
case $1 in
"start"){
for i in hadoop001 hadoop002 hadoop003
do
ssh $i "source /etc/profile; /root/zookeeper/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop001 hadoop002 hadoop003
do
ssh $i "source /etc/profile; /root/zookeeper/bin/zkServer.sh stop"
done
};;
"status"){
for i in hadoop001 hadoop002 hadoop003
do
ssh $i "source /etc/profile; /root/zookeeper/bin/zkServer.sh status"
done
};;
esac