Zookeeper 分布式安装
分布式安装部署
集群规划
在 cpu101、cpu102 和 cpu103 三个节点上部署 Zookeeper
cpu101 | cpu102 | cpu103 | |
---|---|---|---|
Zookeeper | Zookeeper | Zookeeper | Zookeeper |
下载地址
zookeeper-3.5.7 :
解压安装
解压 Zookeeper 安装包到 /opt/module/
目录下
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
修改 /opt/module/apache-zookeeper-3.5.7-bin
名称为 zookeeper-3.5.7
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7/
配置服务器编号
在 /opt/module/zookeeper-3.5.7/
这个目录下创建 zkData
mkdir zkData
在 /opt/module/zookeeper-3.5.7/zkData
目录下创建一个 myid 的文件
vim myid
添加 myid 文件,注意一定要在 linux 里面创建,在 notepad++ 里面很可能乱码
在文件中添加与 server 对应的编号:
1
配置 zoo.cfg 文件
重命名 /opt/module/zookeeper-3.5.7/conf
这个目录下的 zoo_sample.cfg
为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
打开 zoo.cfg 文件
vim zoo.cfg
修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData
#######################cluster##########################
server.1=cpu101:2888:3888
server.2=cpu102:2888:3888
server.3=cpu103:2888:3888
配置参数解读
server.A=B:C:D
A : 一个数字,表示这个是第几号服务器
集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据就是A值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断底是哪个 server
B : 这个服务器的地址
C : 这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口
D : 万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader ,而这个端口就是用来执行选举时服务器相互通信的端口
同步 /opt/module/zookeeper-3.5.7
目录内容到 cpu102 、cpu103
xsync zookeeper-3.5.7/
分别在 cpu102 、cpu103 上修改 myid 文件中内容为 2、3
ZK 集群启动停止脚本
在 cpu101 的 /home/cpu/bin
目录下创建脚本
vim zk.sh
#!/bin/bash
case $1 in
"start"){
for i in cpu101 cpu102 cpu103
do
echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
};;
"stop"){
for i in cpu101 cpu102 cpu103
do
echo ---------- zookeeper $i 停止 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
};;
"status"){
for i in cpu101 cpu102 cpu103
do
echo ---------- zookeeper $i 状态 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
};;
esac
增加脚本执行权限
chmod 777 zk.sh
分发
xsync zk.sh
Zookeeper 集群启动脚本
zk.sh start
Zookeeper 集群状态脚本
zk.sh status
Zookeeper 集群停止脚本
zk.sh stop
客户端命令行操作
命令基本语法 | 功能描述 |
---|---|
help | 显示所有操作命令 |
ls path | 使用 ls 命令来查看当前 znode 的子节点 -w 监听子节点变化 -s 附加次级信息 |
create | 普通创建 -s 含有序列 -e 临时(重启或者超时消失) |
get path | 获得节点的值 -w 监听节点内容变化 -s 附加次级信息 |
set | 设置节点的具体值 |
stat | 查看节点状态 |
delete | 删除节点 |
deleteall | 递归删除节点 |
启动客户端 :
zkCli.sh