zookeeper客户端的命令及在eclipse中的简单的操作
开启zookeeper客户端
zookeeper中客户端的命令
- ls / :列出 “/” 下面的其他节点。
- create /name xxx,name下创建叫xxx的持久节点。
- create -e /name xxx,name下创建叫xxx的临时节点,用quie命令退出或者结束时,临时节点会消失。
- create -s /name xxx,name下创建叫xxx的持久顺序节点。
- create -e -s /name xxx,name下创建叫xxx的临时顺序节点,用quie命令退出或者结束时,临时节点会消失。
- get /name,获取叫name的节点
- mr /name,删除指定的节点
- set /name “aaa”,设置name节点内容为aaa
zookeeper的开发步骤(eclipse)
- 建立java项目
- 将zookeeper涉及的jar包进行依赖
- 创建java类
- 编写java代码并创建操作zookeeper的客户端对象
- 进行操作zookeeper的客户端
zookeeper的开发过程
- 创建zookeeper客户端对象
Zookeeper client = new Zookeeper(ip:端口,等待延迟时间,监听器类的对象);
- zookeeper客户端对象的方法列举
create方法后两个参数的介绍(ACL访问控制列表(权限)、znode的创建类型)
ACL访问控制列表:
- Ids.CREATOR_ALL_ACL:创建者拥有全部权限
- Ids.OPEN_ACL_UNSAFE:创建开放节点,允许任意操作
- Ids.READ_ACL_UNSAFE:创建只读节点
- Ids.ANYONE_ID_UNSAFE:表示任何人都可以访问
- Ids.AUTH_IDS:表示创建者拥有访问权限
znode的创建类型:
- CreateMode.PERSISTENT:持久化目录节点,这个目录节点存储的数据不会丢失
- CreateMode.PERSISTENT_SEQUENTIAL:顺序自动编号的持久化目录节 点,这种目录节点会根据当前已近存在的节点数自动加 1,然后返回给客户端已经成功创建的目录节点名
- CreateMode.EPHEMERAL:临时目录节点,一旦创建这个节点的客户端与服务器端口也就是 session 超 时,这种节点会被自动删除
- CreateMode.EPHEMERAL_SEQUENTIAL:临时自动编号节点
zookeeper编写监听类
代码如下:
- 在创建zookeeper客户端对象时,最后一个参数要写自己建的实现了Watcher的类
- 在调用方法时,可以传入这个对象进行对其监听。
//监听到指定的目录是有变化,会触发此方法
@Override
Public void process(WatchedEvent event){
要执行的方法体
}