全球彩票平台_全球彩票注册平台|官网下载地址

热门关键词: 全球彩票平台,全球彩票注册平台,全球彩官网下载地址

zookeeper脚本使用,Zookeeper基本操作

一 .设置节点的值

本文为原创文章,转载请注明出处,谢谢

本文为原创文章,转载请注明出处,谢谢

  • 启动ZOOKEEPER
    配置好ZOOKEEPER后,进入./bin 目录,执行 ./zkServer.sh start

1、依赖类库


在JAVA程序中调用Zookeeper时,首先需要引入Zookeeper类库:

 zookeeper-3.4.9.jar

由于Zookeeper使用了SLF4J来做Log4J的日志,因此还需要引入:

 slf4j-api-1.6.1.jar

 log4j-1.2.16.jar

 slf4j-log4j12-1.6.1.jar  (SFL4j对Log4j的使用)

set path data [vaersion]

 zookeeper自带脚本使用

1、进入zookeeper客户端

  找到安装目录下的bin目录,执行以下脚本(中括号标示被必填)

  ./zkCli.sh  -timeout 5000 [-r]  -server 127.0.0.1:2181   (-r指服务器挂掉仍可提供读服务)

  图片 1

  进入上图所示命令行,则进入成功

2、相关命令

  • ls path :和linux的命令相似 

  图片 2

  • stat path:查看节点详情信息

  图片 3

  

    • czxid. 节点创建时的zxid.
    • mzxid. 节点最新一次更新发生时的zxid.
    • ctime. 节点创建时的时间戳.
    • mtime. 节点最新一次更新发生时的时间戳.
    • dataVersion. 节点数据的更新次数.
    • cversion. 其子节点的更新次数.
    • aclVersion. 节点ACL(授权信息)的更新次数.
    • ephemeralOwner. 如果该节点为ephemeral节点, ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是ephemeral节点, ephemeralOwner值为0. 至于什么是ephemeral节点, 请看后面的讲述.
    • dataLength. 节点数据的字节数.
    • numChildren. 子节点个数.

 

  • get path :查看节点数据

  图片 4相关解释如上,其中第一行为当前节点的值

 

  • ls2 path: ls命令加上stat命令

  图片 5

  • create [-s -e] path value [acl] :创建节点  (-s:顺序节点,-e临时节点)

  图片 6

    • -s :顺序节点,最终节点名字为自定义节点名加顺序数字,如note_scot_10000000001
    • -e :临时节点,客户端连接断开后自动删除节点
    • path:创建路径,其中父路径必须存在
    • value:节点内容
    • acl:权限相关,后面文章会详细解释

  

  • set path value [version] :设置节点内容
    •  version : 设置版本号必须与现存版本号相同 否则报错,思路类似乐观锁
  • delete path [version] : 版本号与set相同,只能删除不含有子节点的节点
  • rmr path : 删除路径下所有节点
  • **setquota -n|-b val path     (-n限制子节点个数,-b限制数据长度)(超出限制只在log记录不抛出异常)**
  • listquota path (查看限制)
  • delquota [-n|-b] path (删除限制)
  • addauth ip ip地址
  • addauth digest username:password

   图片 7创建节点授权信息ACL

  

  关于ACL权限的问题,第二章Zookeeper使用中会详细说明

 

 zookeeper自带脚本使用

1、进入zookeeper客户端

  找到安装目录下的bin目录,执行以下脚本(中括号标示被必填)

  ./zkCli.sh  -timeout 5000 [-r]  -server 127.0.0.1:2181   (-r指服务器挂掉仍可提供读服务)

  图片 8

  进入上图所示命令行,则进入成功

2、相关命令

  • ls path :和linux的命令相似 

  图片 9

  • stat path:查看节点详情信息

  图片 10

  

    • czxid. 节点创建时的zxid.
    • mzxid. 节点最新一次更新发生时的zxid.
    • ctime. 节点创建时的时间戳.
    • mtime. 节点最新一次更新发生时的时间戳.
    • dataVersion. 节点数据的更新次数.
    • cversion. 其子节点的更新次数.
    • aclVersion. 节点ACL(授权信息)的更新次数.
    • ephemeralOwner. 如果该节点为ephemeral节点, ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是ephemeral节点, ephemeralOwner值为0. 至于什么是ephemeral节点, 请看后面的讲述.
    • dataLength. 节点数据的字节数.
    • numChildren. 子节点个数.

 

  • get path :查看节点数据

  图片 11相关解释如上,其中第一行为当前节点的值

 

  • ls2 path: ls命令加上stat命令

  图片 12

  • create [-s -e] path value [acl] :创建节点  (-s:顺序节点,-e临时节点)

  图片 13

    • -s :顺序节点,最终节点名字为自定义节点名加顺序数字,如note_scot_10000000001
    • -e :临时节点,客户端连接断开后自动删除节点
    • path:创建路径,其中父路径必须存在
    • value:节点内容
    • acl:权限相关,后面文章会详细解释

  

  • set path value [version] :设置节点内容
    •  version : 设置版本号必须与现存版本号相同 否则报错,思路类似乐观锁
  • delete path [version] : 版本号与set相同,只能删除不含有子节点的节点
  • rmr path : 删除路径下所有节点
  • **setquota -n|-b val path     (-n限制子节点个数,-b限制数据长度)(超出限制只在log记录不抛出异常)**
  • listquota path (查看限制)
  • delquota [-n|-b] path (删除限制)
  • addauth ip ip地址
  • addauth digest username:password

   图片 14创建节点授权信息ACL

  

  关于ACL权限的问题,第二章Zookeeper使用中会详细说明

 

2、访问会话


图片 15

[hadoop@hadoop4 bin]$ ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/apps/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

2.1、创建会话

调用Zookeeper首先需要先建立Zookeeper的会话,用于关联到具体的Zookeeper服务器和znode路径下:

有四种构造器方式可以建立会话:

ZooKeeper(String connectString,int sessionTimeout,Watcher watcher)

ZooKeeper(String connectString,int sessionTimeout,Watcher watcher,

        boolean canBeReadOnly)

ZooKeeper(String connectString,int sessionTimeout,Watcher watcher,

        long sessionId,byte[] sessionPasswd)

ZooKeeper(String connectString,int sessionTimeout,Watcher watcher,

        long sessionId,byte[] sessionPasswd,boolean canBeReadOnly)

参数含义:

connectString : 当前会话关联的最后一级znode,关联后,在当前会话过程中,将能够访问该节点以及其子节点,而不能访问该节点的上级节点和旁系节点,该节点可以视作是当前会话的根节点。

连接字符串的结构为:

connectString ::= {hostname:port ,…} [/znode]

例如:

连接到znode节点/myTest/testA,则该链接为:

“myA.zookeeper.test:2181, myB.zookeeper.test:2181/myTest/testA“

连接后,本次会话将近能够访问/myTest/testA及其子节点,zookeeper首先会检测第一个分隔符“/”,并获取前面的主机列表,然后再用分隔符“,“分割获取每一台主机。

sessionTimeout : 会话的超时时间,按照毫秒为单位进行计算,设置好会话时间后,可以在任意时刻,通过如下方法得到该时间:

public int getSessionTimeout()

watcher : 默认的观察者对象接口,该接口的实例将会被注册为本次会话内全局缺省的观察者对象;并且该观察者对象可以在任意时刻,通过如下方法将其覆盖:

public void register(Watcher watcher)

sessionId / sessionPasswd:组合此两个参数,可以在客户端结束当前会话后,继续恢复刚刚离开的那个会话,自需记住上一次的会话信息即可,可以通过如下两个方法在某一次会话过程中来获取:

public long getSessionId()

public byte[] getSessionPasswd()

canBeReadOnly:设置当前会话的客户端是否可以在其链接的服务器与集群中多数服务器失去联系,并停止处理客户端的读写请求时,仍然能够获得该服务器只读请求的响应

创建会话示例:

创建一个观察者,实现Watcher接口,并将其作为缺省观察者对象来创建一个Zookeeper客户端,并开启一个会话环境。

public class TestWatcher implements Watcher {

        @Override

        public void process(WatchedEvent event) {

                if (KeeperState.SyncConnected == event.getState()) { …  }

        }

}

创建会话,以myTest作为当前会话的根节点,同时传入默认的观察者

public static void main(String[] args) {

        TestWatcher watcher = new TestWatcher();

        Zookeeper zookeeper = new Zookeeper(“192.168.1.200:2181/myTest”, 5000 , watcher);

}

当我们给节点设置新值的时候,可能会带有附加的版本号.

  • 查看ZOOKEEPER配置
    zkServer.sh status

2.2、结束会话

可以在某一个会话过程中,通过如下方法来结束本次会话:

public void close()

会话结束时,所有当前会话与Zookeeper关联的临时类型znode节点将会被全部删除,同时还会触发在这些节点上的所有观察者执行其process()方法。

当更新的版本号不同的时候,会触发乐观锁的机制,发生错误.

3、访问节点


本文由全球彩票平台发布于全球彩票注册平台编程,转载请注明出处:zookeeper脚本使用,Zookeeper基本操作

TAG标签: 全球彩票平台
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。