栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【自撰】zooKeeper常用命令和权限

【自撰】zooKeeper常用命令和权限

zookeeper常用命令和权限
  • 常用命令:
  1. get -s /path 和 stat /path 查看指定路径的节点信息
属性解译
cZxid数据节点创建时的事务ID
ctime据节点创建时的时间
mZxid数据节点最后一次更新时的事务 ID
mtime数据节点最后一次更新时的时间
pZxid数据节点的子节点最后一次被修改时的事务 ID
cversion子节点的更改次数
dataVersion节点数据的更改次数
aclVersion节点的 ACL 的更改次数
ephemeralOwner如果节点是临时节点,则表示创建该节点的会话的
dataLength如果节点是持久节点,则该属性值为 0
numChildren数据节点当前的子节点个数
  1. ls /(查看所有节点) ls /path(查看节点下的节点) ls -R /(递归查询所有节点)

  2. get /path 查询节点的值
    get -s /path 查询节点信息

  3. create /path(持久化节点) create -s /path(持久化有序节点)
    create -s -e /path(有序临时节点) create -e /path(临时节点)
    注:临时节点不能创建子节点,临时节点依赖于客户端会话,一旦会话结束临时节点将被自动删除(会话结束会有几秒滞后性)

  4. delete /path 删除节点
    (如果节点下存在子节点的话将无法删除该节点)

    delete -v(dataVersion) /path
    (根据数据版本号删除,如果当前节点的数据版本号不符合时,将拒绝删除)

  5. set /path 修改节点
    set -v(dataVersion) /path
    (根据数据版本号修改,如果当前节点的数据版本号不符合时,将拒绝修改)

    (以上根据版本删除或修改时是为了防止并未问题)

  6. get -w /path 监听器
    (注册的监听器能过在节点内容发生改变的时候,向客户端发出通知。触发一次就会立即失效)

zookeeper的acl权限控制
  • zookeeper类似文件系统,client可以创建节点、更新节点、删除节点
  • zookeeper的Access Control List访问控制列表可以做到这一点
  • acl权限控制,使用scheme:id :permission 来标识
  1. 权限模式(scheme):授权的策略
  2. 授权对象(id):授权的对象
  3. 权限(permission):授予的权限
权限模式:
方案
World只有一个用户:anyone
Ip对客户端使用ip地址认证
Auth使用已添加认证的用户认证
Digest使用“用户名:密文”方式认证
权限分类:
Create:添加(可以创建子节点)
Delete:删除(可以删除子节点)
Write: 修改(可以设置子节点数据)
Read: 查看(可以读取节点数据以及子节点数据)
Admin:管理权限(可以设置节点访问控制列表的权限)   

(简称cdwra)

  • 授权相关命令:
	getAcl /path # (读取Acl权限)
	setAcl /path #(设置Acl权限)
	addauth digest(密文) zjw:123456 #(创建用户)

加密代码:

echo -n [ auth ]:[ pwd ] |openssl dgst -binary -sha1 | openssl base64 # (Linux加密)
单例设置权限:

给节点授权

setAcl /path auth:[ username ]:cdwra # 明文
setAcl /path digest: [ username ]:[ 密文 ]:cdwra # 密文

多例设置权限:
setAcl /path world:anyone:cdwra,ip:[ username ]:cdwra,auth: [ username ]:cdwra,digest: [ username ]:[ 密文]:cdwra
# (逗号隔开)
超级管理员:

利用加密器将zjw:admin加密得到乱码 [ Zi/5oeJEdKnVGULxFcB9CtxSc3E= ]

  • 然后进入zkServer.sh文件中搜索nohup(在第二个添加以下代码)
“-Dzookeeper.DigestAuthenticationProvider.superDigest=zjw:Zi/5oeJEdKnVGULxFcB9CtxSc3E=”


添加之后关闭客户端重启服务器

Addauth digest zjw:admin 注册之后会直接变成超级管理
注:超级管理的密码要与添加到zkServer.sh文件里的密码一致(未加密的原密码)


这样多例授权就完成了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号