zookeeper与Doubbo(二)常用数据命令

1.ls与ls2命令

查询结果含义:

cZid:创建时zookeeper分配给节点的id

ctime:创建时间

mZid:修改后zookeeper的节点id

mtime:节点修改的时间

pZid:子节点的id

cversion:子节点的version

dataVersion:当前节点的数据版本号

aclVersion:权限的版本

dataLength:数据长度

numChildren:子节点的个数

2、zk-session的基本原理

客户端与服务端之间连接存在会话;每个会话都可以设置一个超时时间;心跳结束,session则过期

session过期,则临时节点znode会被抛弃。

心跳机制:客户端向服务端的ping包请求

 

create命令

创建节点:create /imooc    imooc-data

创建临时节点:create     -e    /imooc/tmp      imooc-data

增量创建节点:-s参数

 

3.set命令和delete命令 

 

4.zk特性——watcher机制

(1) 针对每个节点的操作,都会有一个监督者——watcher。当监控的某个对象(znode)发生了变化,则触发watcher事件。

zk中的watcher是一次性的,触发后立即销毁。

(2)父节点,子节点增删改都能够触发其watcher

(3)针对不同类型的操作,触发的watcher事件也不同:

(子)节点创建事件

(子)节点删除事件

(子)节点数据变化事件

 

命令:通过 get path [watch]   设置watcher

父节点 增删改操作触发watcher;子节点 增删改操作触发watcher

watcher事件类型一:

创建父亲节点出发:NodeCreated

修改父节点数据触发:NodeDataChanged

删除父亲节点触发:NodeDeleted

ls为父节点设置watcher,创建子节点触发:NodeChildrenChanged

ls为父节点设置watcher,删除子节点触发:NodeChildrenChanged

ls为父节点设置watcher,修改子节点不触发事件;原因:对子节点的修改无法触发父节点的watch机制 ;get /imooc/xyz

 

watch的使用场景:

(1)统一资源配置

 

5.ACL(access control lists)权限

针对节点可以设置相关读写等权限,目的为了保障数据安全性;

权限permissions可以指定不同的权限范围以及角色;

 

命令

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

setAcl:设置某个节点的acl权限信息

addAuth:输入认证授权信息,注册时输入明文密码(登陆)但是在ZK的系统,密码是以加密的形式存在的。

 

ACL的构成

zk的acl通过[scheme:id:permissions]来构成权限列表

scheme:代表采用的某种权限机制

id:代表允许访问的用户

permissions:权限组合字符串

scheme:

world:world下只有一个id,即只有一个用户,也就是anyone,那么组合的写法就是world:anyone:[permissions]

auth:代表认证登陆,需要注册用户权限就可以,形式为auth:user:password:[permissions]

digest:需要对密码加密才能访问,组合形式为digest:username:BASE64(SHA1(password)):[permissions]

简而言之:auth与digest的却别就是,前者是明文,后者是密文。

setAcl /path auth:lee:lee:cdrwa 与setAcl /path digest:lee:lee:BASE64(SHA1(password))cdrwa是等价的,在通过addauth digest lee:lee 后都能操作指定节点的权限。

ip:当设置为ip指定的ip地址,此时限制ip进行访问,

super:代表超级管理员,拥有所有权限

persmissions:权限字符串缩写    1.create:创建子节点  2.read获取节点或者子节点   3.write:设置节点数据 4.delete:删除子节点5.admin:设置权限 

 

ACL命令

(1)world:anyone:cdwra

 

 

(2)auth:user:password:[permissions与digest:username:BASE64(SHA1(password)):[permissions]

imooc:+gvPtpWo4822W8eDoMEuE/3/jGQ=
 

3.ip 192.168.1.1:cdrwa

 

4.super

(1)修改zkServer.sh 增加super管理员

(2)重启zkServer.sh

 

ACL的常用使用场景:

  开发/测试环境分离,开发者无权操作测试库的节点,只能看;

生产环境上控制指定ip的服务可以访问相关节点,防止混乱。

6.zk的四字命令

(1)zk可以通过自身提供的简写命令来和服务器进行交互

(2)需要使用到nc命令,安装:yum installnc

(3)echo  [commond] | nc [ip] [port]

[stat]  查看zk的状态信息,以及是否mode单例还是集群

[ruok]查看当前zkServer是否启动,返回imok

[dump]列出未经处理的会话和临时节点

[conf] 查看服务器配置

cons:展示连接到服务器的客户端信息

[envi]:环境变量

【mntr】:监控zk的健康信息

【wchs】展示watch的信息

[wchc]与[wchp]  session与watch及path与watch信息

注意:这两个命令默认禁止执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值