zoukankan      html  css  js  c++  java
  • ZooKeeper(3.4.5)

    一、创建会话

    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();
        }    
    }
  • 相关阅读:
    RHEL6中LVM逻辑卷管理
    Linux配置iSCSI存储
    Linux中FTP服务器配置
    360浏览器兼容模式下IE内核版本
    Ocelot + Consul + Registrator 基于Docker 实现服务发现、服务自动注册
    电视接入系统页面、监控页面
    Registrator中文文档
    关于Skyline沿对象画boundingbox的探讨
    EntityFramework实体默认值遇到Oracle自增主键
    C# 6.0 11个新特性
  • 原文地址:https://www.cnblogs.com/huey/p/4307724.html
Copyright © 2011-2022 走看看