Zookeeper集群安装部署和客户端命令
集群安装
-
集群 规划
准备3台虚拟机 -
上传解压安装
- 上传Zookeeper安装包到/opt下 ( 3台服务器同步)
- 解压Zookeeper安装包到/opt/module/目录下( 3台服务器同步)
tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
-
配置服务器编号
- 在/opt/module/zookeeper-3.4.10/这个目录下创建zkData
- 在/opt/module/zookeeper-3.4.10/zkData目录下创建一个myid的文件
- 编辑myid文件:在文件中添加与server对应的编号,3台机器分别为1,2,3
- 在/opt/module/zookeeper-3.4.10/这个目录下创建zkData
-
配置zoo.cfg文件(3台服务器同步)
-
重命名/opt/module/zookeeper-3.4.10/conf这个目录下的zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg
-
打开zoo.cfg文件修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.4.10/zkData
-
打开zoo.cfg文件新增如下配置
#######################cluster##########################
server.1=192.168.72.129:2888:3888
server.2=192.168.72.130:2888:3888
server.3=192.168.72.131:2888:3888参数解读:server.A=B:C:D
- A是一个数字,表示这个是第几号服务器;集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
- B是这个服务器的ip地址;
- C是这个服务器与集群中的Leader服务器交换信息的端口;
- D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口
-
-
集群简单操作
- 分别启动Zookeeper
bin/zkServer.sh start
- 查看状态
bin/zkServer.sh status
- 分别启动Zookeeper
客户端命令行操作
命令基本语法 功能描述
- help: 显示所有操作命令
- ls path [watch]: 使用 ls 命令来查看当前znode中所包含的内容
- ls2 path [watch]: 查看当前节点数据并能看到更新次数等数据
- create [选项] 普通创建, - s 含有序列 ,- e 临时(重启或者超时消失)
- get path [watch] 获得节点的值
- set 设置节点的具体值
- stat 查看节点状态
- delete 删除节点
- rmr 递归删除节点
应用案例:
启动客户端连接服务端
-
显示所有的操作命令
-
查看当前znode中所包含的内容
-
查看当前节点详细数据
-
分别创建2个普通节点
-
获得节点的值
-
创建短暂节点
-
创建带序号的节点
- 先创建一个普通的根节点
- 创建带序号的节点sanguo/weiguo
如果原来没有序号节点,序号从0开始依次递增。如果原节点下已有2个节点,则再排序时从2开始,以此类推
-
修改节点数据值
-
节点的值变化监听
- 在192.168.72.129主机上注册监听/sanguo节点数据变化
get /sanguo watch
- 在192.168.72.130主机修改/sanguo节点数据为 shuguo
- 观察192.168.72.129主机收到数据变化的监听
- 在192.168.72.129主机上注册监听/sanguo节点数据变化
-
删除节点
-
递归删除
rmr /sanguo/shuguo
-
查看节点状态