Zookeeper安装与基础命令操作

简介: Zookeeper安装与基础命令操作

安装ZK

下载安装包

点击下载zookeeper 3.4.14

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

找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain

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

启动ZkServer

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

sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkServer.sh start 

查看状态、停止zk服务

##查看zk启动状态
sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkServer.sh status
## 停止
sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkServer.sh stop

客户端连接ZkServer

sh ~/Documents/各种安装包/zookeeper-3.4.14/bin/zkCli.sh

image.png

ls 查看命令

image.png

get 获取数据

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

[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: 创建顺序节点 自动累加(全局累加)

image.png

  • -e:创建临时节点

set path data [version] 修改节点

image.png

根据版本号修改

image.png

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事件

image.png

ACL权限控制

ZK的节点有5种操作权限:CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)。

注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限


身份的认证有4种方式:


world:默认方式,相当于全世界都能访问

auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)

digest:即用户名:密码这种方式认证,这也是业务系统中最常用的

ip:使用Ip地址认证

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


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

image.png

setAcl 设置权限

image.png

acl Auth 密码明文设置

acl digest 密码密文设置

acl ip 控制客户端

四字命令Four Letter Words

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

stat 查看状态信息

echo stat | nc 127.0.0.1 2181

ruok 查看zookeeper是否启动

echo ruok | nc 127.0.0.1 2181

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

echo dump | nc 127.0.0.1 2181

conf 查看服务器配置

echo conf | nc 127.0.0.1 2181

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

echo cons | nc 127.0.0.1 2181

envi 显示环境变量信息

echo envi | nc 127.0.0.1 2181

mntr 查看zk的健康信息

echo mntr | nc 127.0.0.1 2181

wchs 展示watch的信息

echo wchs | nc 127.0.0.1 2181

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

    需要在 配置zoo.cfg文件中添加 4lw.commands.whitelist=*


    目录
    相关文章
    |
    1天前
    |
    数据采集 人工智能 安全
    |
    10天前
    |
    云安全 监控 安全
    |
    2天前
    |
    自然语言处理 API
    万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
    通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
    916 150
    |
    2天前
    |
    编解码 人工智能 机器人
    通义万相2.6,模型使用指南
    智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
    |
    15天前
    |
    机器学习/深度学习 人工智能 自然语言处理
    Z-Image:冲击体验上限的下一代图像生成模型
    通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
    1655 8
    |
    7天前
    |
    人工智能 自然语言处理 API
    一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
    一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
    608 152
    |
    9天前
    |
    人工智能 安全 前端开发
    AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
    AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
    579 13
    |
    6天前
    |
    人工智能 前端开发 文件存储
    星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择
    星哥带你玩转飞牛NAS,部署开源笔记TriliumNext!支持树状知识库、多端同步、AI摘要与代码高亮,数据自主可控,打造个人“第二大脑”。高效玩家的新选择,轻松搭建专属知识管理体系。
    366 152
    |
    9天前
    |
    人工智能 自然语言处理 API
    Next AI Draw.io:当AI遇见Draw.io图表绘制
    Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
    663 151