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

1.ls与ls2命令

zookeeper与Doubbo(二)常用数据命令_第1张图片

查询结果含义:

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参数

zookeeper与Doubbo(二)常用数据命令_第2张图片

 

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

zookeeper与Doubbo(二)常用数据命令_第3张图片

删除父亲节点触发:NodeDeleted

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

zookeeper与Doubbo(二)常用数据命令_第4张图片

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

zookeeper与Doubbo(二)常用数据命令_第5张图片

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

zookeeper与Doubbo(二)常用数据命令_第6张图片

 

watch的使用场景:

(1)统一资源配置

zookeeper与Doubbo(二)常用数据命令_第7张图片

 

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

zookeeper与Doubbo(二)常用数据命令_第8张图片

 

zookeeper与Doubbo(二)常用数据命令_第9张图片

 

zookeeper与Doubbo(二)常用数据命令_第10张图片

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

zookeeper与Doubbo(二)常用数据命令_第11张图片

imooc:+gvPtpWo4822W8eDoMEuE/3/jGQ=
 

3.ip 192.168.1.1:cdrwa

 zookeeper与Doubbo(二)常用数据命令_第12张图片

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单例还是集群

zookeeper与Doubbo(二)常用数据命令_第13张图片

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

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

zookeeper与Doubbo(二)常用数据命令_第14张图片

zookeeper与Doubbo(二)常用数据命令_第15张图片

[conf] 查看服务器配置

zookeeper与Doubbo(二)常用数据命令_第16张图片

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

zookeeper与Doubbo(二)常用数据命令_第17张图片

[envi]:环境变量

zookeeper与Doubbo(二)常用数据命令_第18张图片

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

zookeeper与Doubbo(二)常用数据命令_第19张图片

【wchs】展示watch的信息

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

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

zookeeper与Doubbo(二)常用数据命令_第20张图片

你可能感兴趣的:(zookeeper与Doubbo(二)常用数据命令)