`

Zookeeper API

 
阅读更多
 


 /**
     * 
	 * 创建节点
     * <p>
     *  
	 * createMode可以指定该节点为临时(ephemeral)的:当创建该节点的session失效后(程序掉了),zookeeper自动删除该节点
     * <p>
     *
	 *  createMode 可以指定该节点为顺序的,实际生成的path=参数path为前缀+顺序号。
	 *  顺序号由10位数字组成,顺序号对于父节点唯一,自增。
     * <p>
     *
	 *  如果该path已存在,则抛出KeeperException.NodeExists异常 
	 *  对于顺序(sequential)节点,从不抛出KeeperException.NodeExists异常,而是增加顺序号
     * 
	 *  如果父节点不存在,则抛出异常KeeperException.NoNode
     *  
	 * 一个临时(ephemeral)的节点,不能有子节点,如果父节点是临时的,将抛出异常KeeperException.NoChildrenForEphemerals
     * 
     * 
	 * 如果创建操作成功,将会触发Watcher接口被调用:
	 *            1.在该节点上通过exists 调用时关联的Watcher(默认Watcher 和 指定的Watcher)
	 *            2.在该父节点通过getChildren关联的Watcher(默认Watcher 和 指定的Watcher)
	 *
     * 节点最大的保存数据是 1M,超过抛出KeeperExecption
	 * 
     * @param path
     *                the path for the node 节点路径
     * @param data
     *                the initial data for the node  节点的初始数据值
     * @param acl
     *                the acl for the node
     * @param createMode
     *                specifying whether the node to be created is ephemeral
     *                and/or sequential
     * @return the actual path of the created node
     * @throws KeeperException if the server returns a non-zero error code
     * @throws KeeperException.InvalidACLException if the ACL is invalid, null, or empty
     * @throws InterruptedException if the transaction is interrupted
     * @throws IllegalArgumentException if an invalid path is specified
     */
    public String create(final String path, byte data[], List<ACL> acl,CreateMode createMode)

 

   

    /**
     *
	 * 创建连接是异步的,构建器初始化连接并立即返回。
	 * Watcher是一个默认的监视器,任何状态的改变都会通知Watcher将会被触发。
	 * 
	 * 
	 *  Zookeeper客户在连接串中任意选取一个服务地址连接,如果连接失败再另选一个
	 * 服务地址连接,直到连接被建立。客户端会不断的尝试连接,直到zookeepr被显
	 *  示的关闭。 
     * @param connectString 服务地址连接串
	 *            由逗号分隔的host:port,对应多个zookeeper服务地址。例如
	 *             "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"。
	 *             如果连接串中指定了路径,如"127.0.0.1:3002/app/a",则认为"/app/a"
	 *             是根节点,之后操作的所有路径都是相对于此节点的,如:“/foo/bar”则
	 *              对应"/app/a/foo/bar"
     *
     * @param sessionTimeout
     * 
	 *            session超时时间(毫秒)。服务端有minSessionTimeout和maxSessionTimeout这两个参数设置的,如
	 *            如指定的sessionTimeout不在此范围内,将自动设成服务端的最大或最小值。
	 *            连接成功后,在此时间内,客户端向服务端发送心跳包,如果在此时间内服务端没有收到心跳包,则认为
	 *             此session超时,并清理与此会话相关的信息:临时节点和watcher。
	 *
     * @param watcher
     *
     *            默认的监视器对象,当状态改变时,被调用通知。
     * @throws IOException
     *             in cases of network failure
     * @throws IllegalArgumentException
     *             if an invalid chroot path is specified
     */
    public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher)
        throws IOException

   

 

	/**
		*
		*  事件类型
		**/
		public enum EventType {
            None (-1),      //非节点事件
            NodeCreated (1),//节点被创建
            NodeDeleted (2),//节点被删除
            NodeDataChanged (3), //节点数据改变
            NodeChildrenChanged (4);//子节点改变
		}
		
		
		/**
		*  
		*
		**/
		  public enum KeeperState {


            /** 
			 * 连接断开状态
			 */
            Disconnected (0),



            /** 连接状态. */
            SyncConnected (3),

            /**
             * 授权失败状态
             */
            AuthFailed (4),

            /**
			 * 客户端连接到只读服务器
             *
             */
            ConnectedReadOnly (5),

            /**
              * SaslAuthenticated: used to notify clients that they are SASL-authenticated,
              * so that they can perform Zookeeper actions with their SASL-authorized permissions.
              */
            SaslAuthenticated(6),

            /**  
			 *
			 * session超时状态,连接不再有效,需要重新建立新的客户端连接
			 */
            Expired (-112);
			}

 

分享到:
评论

相关推荐

    Zookeeper Api(java)入门详解与应用场景

    **Zookeeper API(Java)入门详解** Zookeeper是一款分布式协调服务,由Apache基金会开发,它为分布式应用提供一致性服务,包括命名服务、配置管理、集群同步、分布式锁等。在Java开发中,我们通常会使用Zookeeper...

    ZooKeeper API 异步操作教学

    ZooKeeper API 是 Apache ZooKeeper 的一套应用程序接口,它允许开发者在其应用程序中使用 ZooKeeper 集群提供的服务。ZooKeeper 是一个开源的分布式协调服务,常用于分布式应用程序中,用于解决共识、同步、组管理...

    Zookeeper Api(java)入门与应用

    zookeeper-api基础 Zookeeper Api(java)入门与应用 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper ...

    zookeeper API

    此为zookeeper的官方文档,方面对zookeeper的学习和开发

    zookeeper C API中文文档

    Zookeeper C API 中文文档 Zookeeper C API 是 Zookeeper 的一个 C 语言实现,提供了一个简洁的 API,让开发者可以轻松地使用 Zookeeper 的功能。本文档将详细介绍 Zookeeper C API 的使用方法和相关知识点。 ...

    zookeeper-API开发lib

    ZooKeeper API是开发者与ZooKeeper交互的主要方式,它提供了丰富的Java客户端接口,使得开发者能够方便地进行数据的读写、监控节点变化、创建和删除节点等操作。以下是一些关键的ZooKeeper API知识点: 1. **连接与...

    zookeeper编程api

    它的编程API提供了丰富的功能,使得开发者能够方便地与Zookeeper交互。以下是对Zookeeper API的一些关键知识点的详细说明: 1. **初始化连接**: 在使用Zookeeper API之前,你需要创建一个`ZooKeeper`实例,通常...

    zookeeper JAVA API.docx

    在Java环境下使用Zookeeper,我们需要引入相应的API库,这通常涉及到在构建路径中添加Zookeeper的JAR包。 首先,如果你是通过Eclipse进行开发,可以在项目的`buildPath`中直接引入`zookeeper-3.4.9.jar`,这个文件...

    zookeeper-api基础.docx

    ### Apache Zookeeper API 基础 #### 一、Zookeeper 概览 Apache Zookeeper 是一款开源的分布式协调服务框架,它通过提供一系列的原语来帮助开发者解决分布式环境中常见的问题,例如命名服务、配置维护、集群管理...

    zookeeper-api基础.zip

    《Zookeeper API基础》 Zookeeper是一个分布式协调服务,它为分布式应用提供一致性服务,包括命名服务、配置管理、集群同步、组服务等。在深入理解Zookeeper的使用之前,我们首先需要熟悉其API的基础知识。 一、...

    zookeeper.chm

    zookeeper编程的API 在分布式处理的开发上很有用

    zookeeper指南

    - **Zookeeper API基础(BasicsofZooKeeperAPI)**:概述Zookeeper API的基本概念。 - **Java绑定(JavaBinding)**:提供如何使用Java语言与Zookeeper进行交互的指导。 - **连接到Zookeeper(ConnecttotheZooKeeper)*...

    java handler zookeeper for zk's api

    标题中的“java handler zookeeper for zk's api”指的是在Java中使用Zookeeper的API来处理相关的操作。Zookeeper是一个分布式协调服务,常用于管理分布式应用的配置信息、命名服务、集群状态、选举等功能。在Java中...

    zookeeper-3.4.8源码包

    每个API背后都对应着Zookeeper内部的一系列处理流程,例如,创建ZNode需要进行权限检查、事务序列化、提交到ZAB协议等步骤。 六、Zookeeper集群配置与管理 Zookeeper集群通过配置文件(zoo.cfg)设定,包括服务器...

    ZooKeeper-分布式过程协同技术详解 PDF 高清完整版

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    ZooKeeper-分布式过程协同技术详解

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    ZooKeeper技术原理与应用.pptx

    ZooKeeper提供了多种API,包括Create、Exists、Delete、Get data、Set data、Get ACL、Set ACL等。这些API可以帮助开发者实现分布式协调服务,维护和监控存储数据状态的变化。 ZooKeeper数据模型 ZooKeeper的数据...

    zookeeper的maven形式的源码包。

    此外,`zookeeper-client`模块包含了客户端API的实现,如`org.apache.zookeeper.ZooKeeper`类,它是客户端与ZooKeeper服务器通信的主要接口。理解这个类以及它提供的方法,如`create()`, `getChildren()`, `exists()...

    ZooKeeper:分布式过程协同技术详解

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

Global site tag (gtag.js) - Google Analytics