4-zookeeper命令行使用

1.进入zookeeper的bin目录,检查服务端是否已启动

    cd /usr/local/zookeeper/bin

     ./zkServer.sh status

2.如果没有运行则启动。 执行: ./zkServer.sh start

3.执行客户端连接至zookeeper服务端。 执行: ./zkCli.sh 

    默认连接的地址是localhost,默认端口是2181;如果地址是远程IP或端口修改,则通过 ./zkCli.sh -server  IP地址:端口号  的方式连接。

4.输入help(实际上输入任何错误的命令都会提示),列出所有的客户端指令。

97d7135c1665a8914007f8a451e7c915486.jpg

5.数据节点的增删改查

stat显示节点的具体状态,默认根节点下有一个zookeeper节点,可以通过指令查看:stat /zookeeper

d7adc3c320fc7085e3d8d762b2e02539c1a.jpg

cZxid:创建节点的id;ctime:创建时间;mZxid:修改节点的id;mtime:修改时间;pZxid:父节点id;cversion:创建版本号;dataVersion:数据版本号;aclVersion:权限控制的版本号;ephemeralOwner:临时节点为0,持久节点则表示该节点绑定的sessionid;dataLength:数据长度;numChildren:子节点个数;

create创建子节点【create [-s] [-e] path data acl】,参数-s表示是否为一个有序的序列;-e表示是否为临时节点;path表示节点路径;data表示节点存储的数据;acl表示节点操作权限(access control list);-s可选,默认是非序列;-e可选,默认是持久化;acl可选,默认是world:anyone:cdrwa(即所有用户都可操作); 

示例指令: create /zk/abc ,不能一次创建多个节点,提示节点不存在,父节点必须存在。

示例指令:create /linux linux ,根目录下创建linux节点,节点存放数据linux。

fe15dd5ec3adcf3bb1d00ac9fec37142257.jpg

get指令可以查看节点的数据【get path [watch]】,watch表示事件监听。

示例指令:get /linux

44673e2f3fc6d1c9cbcaf75bfb2c6c10a5f.jpg

set指令可以修改节点数据【set path data [version]】,version表示数据版本,可选项,不填默认适配所有版本,如果填写则进行数据版本的匹配,如果匹配则修改节点的数据,否则提示版本不存在。

示例指令:set /linux linux2 111

e10075e644b6be4ff279b7971d6b6bc2fb5.jpg

示例指令:set /linux linux2 0  (get指令中dataVersion的值就是数据版本号)执行set命令后数据版本会自增,此时变成了1.

8114a65d505272ed8f9eecfe8e53f144dda.jpg

delete指令可以删除节点【delete path [version]】,version同样也是数据版本号。可选项,填写则进行版本匹配。不填写则匹配所有版本。

示例指令:delete /linux ,执行完毕后没有任何提示表示成功。

ls指令可以查看节点下的子节点信息。

示例指令: ls / ,可以看到linux节点已经不存在了。

c90a87d95706850724e97a0fc4e6095c049.jpg

ls2是ls + stat的结合版,同时显示子节点和节点状态

示例指令: ls2 /

6bd2e60064f3941245225acd29eccefd3c6.jpg

history指令可以查看执行过的历史记录。

示例指令:history

776f5bba71b46b1198ef8e174ce02f90e3f.jpg

该指令记录的是当前会话的历史记录,这时我断开连接重新建立新的会话,之前的记录没有了。

示例指令:history

ce2ae4be0e4bec94d8aeede1053fd9d58be.jpg

rmr可以删除多级目录【rmr path】,为了演示先创建2层目录结构,然后再通过该指令删除。

具体操作如下:

4b67126ae0d6eb44bf3ddc36c3042e226e3.jpg

6.setquota、listquota、delquota,用于限制节点的配额;

setquota  设置节点配额;【setquota -n|-b val path】-n表示限制子节点的个数;-b表示限制数据的最大长度;val是具体的值(限制个数或限制数据);path表示节点路径;

listquota  显示配额列表;【listquota path】path表示节点路径;

delquota  删除节点配额;【delquota [-n|-b] path】-n表示限制子节点的个数;-b表示限制数据的最大长度;path表示节点路径;

7.客户端非常用:close 断开当前会话;connect host:port建立连接;quit退出断开连接;

8.权限相关的指令setAcl、getAcl、addauth;ACL权限:cdrwa; 分别表示:CREATE(创建),DELETE(删除),READ(读),WRITE(写),ADMIN(设置权限)

setAcl path acl; 设置节点的权限

getAcl path;获取节点的权限

addauth scheme auth;注册会话授权;scheme有三种模式:world;auth或digest,前者是明文,后者是密文;ip

9ac65452f90bdc659606813284e13af2cc5.jpg

auth是明文模式;digest是密文模式;

1c22f0580fc54584c0e7d27c9fe9af91356.jpg

7c0d20e0bd78575ef3079dc0b1cef2cfe66.jpg

3d09839ffe3a3f462677125a4f56ac0584f.jpg

设置指定的IP地址访问

9.watch表示事件监听:节点数据变更(NodeDataChanged);节点删除(NodeDeleted);子节点变更(NodeChildrenChanged);

参数中可选watch的指令都可以监听:stat path [watch];ls path [watch];ls2 path [watch];get path [watch]

764bc858205feffe94cd43735c4c387439d.jpg

57e68c30b8b7c8e5b91eee432903710c949.jpg

上述的示例操作演示了子节点创建;节点数据修改;节点删除操作;需要注意的是,zookeeper的节点监听事件是一次性的;

转载于:https://my.oschina.net/yi16/blog/2244988

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值