首页 > 学院 > 开发设计 > 正文

ZooKeeper(3.4.5)

2019-11-14 23:06:55
字体:
来源:转载
供稿:网友
ZooKeeper(3.4.5) - 开源客户端 Curator(2.7.0) 的简单示例一、创建会话1. 创建会话
package com.huey.dream.demo;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;/** * 使用Curator创建会话 * @author  huey * @version 1.0  * @created 2015-3-1 */public class CarutorDemo {    public static void main(String[] args) throws Exception {        CuratorFramework client = CuratorFrameworkFactory.newClient(                "192.168.1.109:2181",                    // 服务器列表                5000,                                    // 会话超时时间,单位毫秒                3000,                                    // 连接创建超时时间,单位毫秒                new ExponentialBackoffRetry(1000, 3)     // 重试策略        );        client.start();                client.close();    }    }
2.使用链式风格的API接口创建会话
package com.huey.dream.demo;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;/** * 使用链式风格的API接口创建会话 * @author  huey * @version 1.0  * @created 2015-3-1 */public class CarutorDemo {    public static void main(String[] args) throws Exception {        CuratorFramework client = CuratorFrameworkFactory.builder()                .connectString("192.168.1.109:2181")                .sessionTimeoutMs(5000)                .connectionTimeoutMs(3000)                .retryPolicy(new ExponentialBackoffRetry(1000, 3))                .build();        client.start();                client.close();    }    }

二、创建节点
package com.huey.dream.demo;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;import org.apache.zookeeper.CreateMode;/** * 使用Curator创建节点 * @author  huey * @version 1.0  * @created 2015-3-1 */public class CarutorDemo {    public static void main(String[] args) throws Exception {        CuratorFramework client = CuratorFrameworkFactory.builder()            .connectString("192.168.1.109:2181")            .sessionTimeoutMs(5000)            .connectionTimeoutMs(3000)            .retryPolicy(new ExponentialBackoffRetry(1000, 3))            .build();        client.start();                client.create()            .creatingParentsIfNeeded()            .withMode(CreateMode.PERSISTENT)            .forPath("/zk-huey/cnode", "hello".getBytes());                client.close();    }    }

三、删除节点
package com.huey.dream.demo;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;import org.apache.zookeeper.CreateMode;/** * 使用Curator删除节点 * @author  huey * @version 1.0  * @created 2015-3-1 */public class CarutorDemo {    public static void main(String[] args) throws Exception {        CuratorFramework client = CuratorFrameworkFactory.builder()            .connectString("192.168.1.109:2181")            .sessionTimeoutMs(5000)            .connectionTimeoutMs(3000)            .retryPolicy(new ExponentialBackoffRetry(1000, 3))            .build();        client.start();                client.create()            .creatingParentsIfNeeded()            .withMode(CreateMode.PERSISTENT)            .forPath("/zk-huey/cnode", "hello".getBytes());                client.delete()            .guaranteed()            .deletingChildrenIfNeeded()            .withVersion(-1)            .forPath("/zk-huey");                client.close();    }    }

四、读取节点数据
package com.huey.dream.demo;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.data.Stat;/** * 使用Curator读取节点数据 * @author  huey * @version 1.0  * @created 2015-3-1 */public class CarutorDemo {    public static void main(String[] args) throws Exception {        CuratorFramework client = CuratorFrameworkFactory.builder()            .connectString("192.168.1.109:2181")            .sessionTimeoutMs(5000)            .connectionTimeoutMs(3000)            .retryPolicy(new ExponentialBackoffRetry(1000, 3))            .build();        client.start();                client.create()            .creatingParentsIfNeeded()            .withMode(CreateMode.PERSISTENT)            .forPath("/zk-huey/cnode", "hello".getBytes());                Stat stat = new Stat();        byte[] nodeData = client.getData()            .storingStatIn(stat)            .forPath("/zk-huey/cnode");        System.out.PRintln("NodeData: " + new String(nodeData));        System.out.println("Stat: " + stat);                client.close();    }    }

五、更新节点数据
package com.huey.dream.demo;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.data.Stat;/** * 使用Curator更新节点数据 * @author  huey * @version 1.0  * @created 2015-3-1 */public class CarutorDemo {    public static void main(String[] args) throws Exception {        CuratorFramework client = CuratorFrameworkFactory.builder()            .connectString("192.168.1.109:2181")            .sessionTimeoutMs(5000)            .connectionTimeoutMs(3000)            .retryPolicy(new ExponentialBackoffRetry(1000, 3))            .build();        client.start();                client.create()            .creatingParentsIfNeeded()            .withMode(CreateMode.PERSISTENT)            .forPath("/zk-huey/cnode", "hello".getBytes());                client.setData()            .withVersion(-1)            .forPath("/zk-huey/cnode", "world".getBytes());                client.close();    }    }

六、 获取子节点列表
package com.huey.dream.demo;import java.util.List;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.retry.ExponentialBackoffRetry;import org.apache.zookeeper.CreateMode;/** * 使用Curator * @author  huey * @version 1.0  * @created 2015-3-1 */public class CarutorDemo {    public static void main(String[] args) throws Exception {        CuratorFramework client = CuratorFrameworkFactory.builder()            .connectString("192.168.1.109:2181")            .sessionTimeoutMs(5000)            .connectionTimeoutMs(3000)            .retryPolicy(new ExponentialBackoffRetry(1000, 3))            .build();        client.start();                client.create()            .creatingParentsIfNeeded()            .withMode(CreateMode.PERSISTENT)            .forPath("/zk-huey/cnode", "hello".getBytes());                List<String> children = client.getChildren().forPath("/zk-huey");        System.out.println("Children: " + children);                client.close();    }    }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表