zookeeper 笔记

虚拟机环境:

  1. linux centos6.5
  2. jdk1.8

 

1.环境安装[集群版]

  1. 下载zookeeper-3.4.14.tar.gz 并解压到linux某一路径下即可
  2. copy conf/zoo_sample.cfg配置为conf/zoo.cfg
  3. zoo.cfg属性介绍:
    1. tickTime:客户端与服务器或者服务器与服务器之间维持心跳,也就是每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态,还可以通过心跳来控制Flower跟Leader的通信时间,默认情况下FL的会话时常是心跳间隔的两倍。
    2. initLimit:集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
    3. syncLimit:集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。   
    4. dataDir:该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的pid信息等。
    5. clientPort:客户端连接的接口,客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181。
    6. server.x:zk服务器配置 x一定要和dataDir中的myid文件中的值对应上;2888是leader和follower通讯使用的端口,3888是用于选举的端口,一旦leader宕机,其他服务器将使用3888端口进行通讯推选出新的leader

zookeeper 笔记

 

2.常用客户端命令

  1. create [-e][-s] path data

创建普通节点:永久节点

zookeeper 笔记

创建临时节点:客户端关闭断开连接时临时节点消失

zookeeper 笔记

创建顺序节点:以输入的路径为前缀顺序生成***id

zookeeper 笔记

zookeeper 笔记

也可以从创建临时顺序节点

zookeeper 笔记

  1. delete path [version] :删除节点 如果节点存在子节点则抛异常

zookeeper 笔记

  1. set path data [version] 设置节点的数据

zookeeper 笔记

  1. get path:获取节点的数据和属性信息

zookeeper 笔记

  1. rmr path:删除节点 可以删除存有子节点的节点
  2. ls/ls2 path ls:展示节点的子节点 ls2 除了展示节点的子节点还展示当前节点的属性信息

3.节点属性

cZxid:创建节点的事物id

ctime:创建节点的时间

mZxid:修改当前节点数据的最后事物id

mtime:修改当前节点数据的最后时间

pZxid:新增或删除子节点的最后事物id(之后子节点有关,孙子节点无关)

cverison:当前节点的版本号

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

aclVersion:acl的版本号

ephemeraOwner:临时节点的id

dataLength:当前节点的数据长度

numChildren:当前节点的子节点数量