前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper安装与基础命令操作

Zookeeper安装与基础命令操作

作者头像
石臻臻的杂货铺[同名公众号]
发布2021-07-14 10:21:17
6360
发布2021-07-14 10:21:17
举报
文章被收录于专栏:kafka专栏

安装ZK


下载安装包

点击下载zookeeper 3.4.14

PS: Mac之前下载了3.5.6启动之后,报错

代码语言:javascript
复制
找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain

应该是lib下的jar包缺失,省的麻烦,我就直接下载了3.4.14版本

启动ZkServer

执行zk的bin下面的启动脚本;例如

代码语言:javascript
复制
sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkServer.sh start 

查看状态、停止zk服务

代码语言:javascript
复制
##查看zk启动状态
sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkServer.sh status
## 停止
sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkServer.sh stop

客户端连接ZkServer

代码语言:javascript
复制
sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkCli.sh
在这里插入图片描述
在这里插入图片描述

ls 查看命令

在这里插入图片描述
在这里插入图片描述

get 获取数据

get和stat的区别是get比stat多返回了节点数据:

代码语言:javascript
复制
[zk: localhost:2181(CONNECTED) 19] get /zookeeper/quota

cZxid = 0x0       #创建节点的id
ctime = Thu Jan 01 08:00:00 CST 1970 #节点的创建时间
mZxid = 0x0  #修改节点的id
mtime = Thu Jan 01 08:00:00 CST 1970  #修改节点的时间
pZxid = 0x0  #子节点的id
cversion = 0  #子节点的版本
dataVersion = 0 #当前节点数据的版本
aclVersion = 0 #权限的版本
ephemeralOwner = 0x0 #判断是否是临时节点
dataLength = 0  #数据的长度
numChildren = 0  #子节点的数量

create 创建节点

  • create [-s] [-e] path data acl 可以注意一下各个版本的变化 -s: 创建顺序节点 自动累加(全局累加)
在这里插入图片描述
在这里插入图片描述

-e:创建临时节点

set path data [version] 修改节点

在这里插入图片描述
在这里插入图片描述

根据版本号修改

在这里插入图片描述
在这里插入图片描述

delete path [version] 删除节点

delete只能用来删除叶子节点,如果节点下有子节点的话则不能删除

rmr path

用来删除节点,与delete的区别是delete只能用来删除叶子节点,如果节点下有子节点的话则不能删除,则rmr可以删除非叶子节点,即节点下有子节点时仍可以删除节点,zk中的delete类似于Linux下的rmdir,只能用来删除空目录,而rmr则类似于rm -rf,不管目录下面有什么都递归删除

watch通知机制

关于watcher机制大体的理解可以为,当每个节点发生变化,都会触发watcher事件,类似于mysql的触发器。zk中 watcher是一次性的,触发后立即销毁。可以参考https://blog.csdn.net/hohoo1990/article/details/78617336

  • stat path [watch]设置watch事件
  • get path [watch]设置watch事件
  • 子节点创建和删除时触发watch事件,子节点修改不会触发该事件

stat path [watch] 设置watch事件

在这里插入图片描述
在这里插入图片描述

ACL权限控制

ZK的节点有5种操作权限:CREATEREADWRITEDELETEADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)。 注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限

身份的认证有4种方式:

  • world:默认方式,相当于全世界都能访问
  • auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
  • digest:即用户名:密码这种方式认证,这也是业务系统中最常用的
  • ip:使用Ip地址认证

使用[scheme:id:permissions]来表示acl权限

getAcl:获取某个节点的acl权限信息

在这里插入图片描述
在这里插入图片描述

setAcl 设置权限

在这里插入图片描述
在这里插入图片描述

acl Auth 密码明文设置

acl digest 密码密文设置

acl ip 控制客户端

四字命令Four Letter Words

  • 使用四字命令需要安装nc命令,(yum install nc)

stat 查看状态信息

代码语言:javascript
复制
echo stat | nc 127.0.0.1 2181

ruok 查看zookeeper是否启动

代码语言:javascript
复制
echo ruok | nc 127.0.0.1 2181

dump 列出没有处理的节点,临时节点

代码语言:javascript
复制
echo dump | nc 127.0.0.1 2181

conf 查看服务器配置

代码语言:javascript
复制
echo conf | nc 127.0.0.1 2181

cons 显示连接到服务端的信息

代码语言:javascript
复制
echo cons | nc 127.0.0.1 2181

envi 显示环境变量信息

代码语言:javascript
复制
echo envi | nc 127.0.0.1 2181

mntr 查看zk的健康信息

代码语言:javascript
复制
echo mntr | nc 127.0.0.1 2181

wchs 展示watch的信息

代码语言:javascript
复制
echo wchs | nc 127.0.0.1 2181

wchc和wchp 显示session的watch信息 path的watch信息

  • 需要在 配置zoo.cfg文件中添加 4lw.commands.whitelist=*
代码语言:javascript
复制

参考文章

1.Zookeeper基础命令操作

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装ZK
    • 下载安装包
      • 启动ZkServer
        • 查看状态、停止zk服务
          • 客户端连接ZkServer
            • ls 查看命令
              • get 获取数据
                • create 创建节点
                  • set path data [version] 修改节点
                    • delete path [version] 删除节点
                      • rmr path
                        • watch通知机制
                          • stat path [watch] 设置watch事件
                        • ACL权限控制
                          • getAcl:获取某个节点的acl权限信息
                          • setAcl 设置权限
                          • acl Auth 密码明文设置
                          • acl digest 密码密文设置
                          • acl ip 控制客户端
                        • 四字命令Four Letter Words
                          • stat 查看状态信息
                          • ruok 查看zookeeper是否启动
                          • dump 列出没有处理的节点,临时节点
                          • conf 查看服务器配置
                          • cons 显示连接到服务端的信息
                          • envi 显示环境变量信息
                          • mntr 查看zk的健康信息
                          • wchs 展示watch的信息
                          • wchc和wchp 显示session的watch信息 path的watch信息
                        • 参考文章
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档