zookeeper详细笔记(二) zookeeper的shell客户端

0 数据存储特点

znode类似于Linux的目录结构(TREE) , 维护了节点的层级关系 ,

真正的数据存储是以key:value的形式存储的! 

在所有的ZK节点上存储的数据是同步一致的!

zookeeper中对数据的存储采用key-value的形式

然后,它的key有特别的格式——路径的形式!(  /service/dn1 doit01    /service/dn2    doit02 )

之所以采取这种形式,是因为zookeeper中的数据节点(znode)之间可以存在父子关系;

zookeeper的数据节点分为以下类型:

永久的znode:客户一旦创建这个znode,它就会被zookeeper一直保存,除非人为删除;

短暂的znode:客户创建完这个znode后,如果客户断开与zookeeper的连接,则该数据马上会被zookeeper删除;

带序号的znode:客户创建一个key,zookeeper会为客户的key自动拼接一个递增的序号!

(客户创建的是/aaa/x  ,那么zookeeper真实生成的key为:  /aaa/x0000000000001

如果客户继续创建 /aaa/y,那么zookeeper真实生成的key为:/aaa/y000000000002)

另外: 永久的和短暂的,都可以跟“带序号的”特性进行组合!组合下来之后共有4种:

  1. 永久不带序号
  2. 永久且带序号的
  3. 短暂不带序号
  4. 短暂且带序号的

1 登录客户端

  1. bin/zkCli.sh    
  2. bin/zkCli.sh    -server  linux01:2181
  3. bin/zkCli.sh    -server  linux01:2181,linux02:2181,linux03:2181

help

[zk: localhost:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
        stat path [watch]
        set path data [version]  更新数据
        ls path [watch]    查看指定目录下的节点  ls /   ls /servers

        delquota [-n|-b] path
        ls2 path [watch]   查看指定目录下的节点  详细
        setAcl path acl
        setquota -n|-b val path
        history            查看执行历史命令
        redo cmdno
        printwatches on|off
        delete path [version]  删除空节点
        sync path
        listquota path
        rmr path     删除节点(递归)
        get path [watch]   获取节点的数据
        create [-s] [-e] path data acl  创建节点

        addauth scheme auth
        quit   退出 客户端
        getAcl path
        close   退出客户端
        connect host:port

2 基础命令

2.1 ls和ls2 

[zk: localhost:2181(CONNECTED) 1] ls  /
[servers, zookeeper]
[zk: localhost:2181(CONNECTED) 2] ls2 /
[servers, zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x200000008
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2

2.2 创建节点 create

注意在zk中节点分成两种 临时和永久节点 默认的节点是永久节点

临时节点(生命周期是客户端的连接)  -e(临时)  -s(有序)

  •  无序临时节点   create  -e    /node value
  • 有序临时节点  create   -s  -e    /node value

永久节点(默认的)

  • 永久无序节点   create  /node  value 
  • 永久有序节点  create  -s   /node  value

[zk: localhost:2181(CONNECTED) 7] create -s  -e  /bb  BB
Created /bb0000000005

2.3 获取节点的值  get

[zk: localhost:2181(CONNECTED) 13] get /aa0000000004
AA
cZxid = 0x200000019
ctime = Wed Jul 15 15:15:41 CST 2020
mZxid = 0x200000019
mtime = Wed Jul 15 15:15:41 CST 2020
pZxid = 0x200000019
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 0

猜你喜欢

转载自blog.csdn.net/qq_37933018/article/details/107361754