【西安校区】Zookeeper之ACL和进程协作

Java 已结 1 48
杭州网络营销
杭州网络营销 2021-05-28 09:01
悬赏:71
相关标签:
1条回答
  •  百度统计工具
    百度统计工具 (最佳回答者)
    2021-05-28 09:55

    实现节点的增删
    打开 Eclipse开发工具,单击File选择“New”→“ Java project”,新建名称
    为“zookeeper”的Java项目,单击右键“zookeeper项目,选择“New”→“ Package”。
    输入包名称“ cn.dzqc.zk"
    新建java类,选中包名并单击右键,选择“New”→“Class”
    在name项输入“ZookeeperDemo"类名称
    在创建的项目目录下创建文件夹lib,通过选中文件夹“src”并点击右键,选择“New”→“SourceFolder”,在“Folder
    name”项输入lib
    在lib文件夹下的添加7个jar包。分别是zookeeper-3.4.12.jar,audience-annotations-0.5.0.jar,jline-0.9.94.jar,netty-3.10.6.Final.jar,log4j-1.2.17.jar,slf4j-api-1.7.25.jar,slf4j-log4j12-1.7.25.jar。zookeeper-3.4.12.jar文件在zookeeper-3.4.12.tar.gz解压缩的根目录下,其余6个jar文件在lib文件夹下。
    选中lib下的所有jar包,单击右键,然后选择“ Add to Build Path”即可把所有jar包添加到path环境中
    编写代码
    import org.apache.zookeeper.CreateMode;
    import org.apache.zookeeper.ZooDefs.Ids;
    import org.apache.zookeeper.ZooKeeper;

    public class ZookeeperDemo {
            public static void main(String[] args) throws Exception{  
                    //创建连接,指定Zookeeper集群节点,连接超时时间,服务是否监控
            ZooKeeper zk = new ZooKeeper("192.168.86.150:2181,192.168.86.160:2181,191.169.86.170:2181", 3000, null);  
            System.out.println("=========创建节点===========");  
            // zk.exists() 判断节点是否存在
            if(zk.exists("/test", false) == null)  {  
            //Ids.OPEN_ACL_UNSAFE 标识节点开启接入权限
            //CreateMode.PERSISTENT 持久化目录节点
            zk.create("/test", "znode1".getBytes(), Ids.OPEN_ACL_UNSAFE,                 CreateMode.PERSISTENT);  
            }  
            System.out.println("==========查看节点是否安装成功============");  
                    System.out.println(new String(zk.getData("/test", false, null)));  

            System.out.println("=========修改节点的数据==========");  
    zk.setData("/test", "zNode2".getBytes(), -1);  
            System.out.println("========查看修改的节点是否成功=========");  
    System.out.println(new String(zk.getData("/test", false, null)));  

            System.out.println("=======删除节点==========");  
    zk.delete("/test", -1);  
            System.out.println("==========查看节点是否被删除============");  
            System.out.println("节点状态:" + zk.exists("/test", false));  
    zk.close();  
        }   
    }  

    启动集群
    启动服务,在每台虚拟机上执行启动命令,用jps查看,如图所示。 执行命令zkServer.sh start
    启动完成后,查看服务状态。 执行命令zkServer.sh status
    运行项目




    32 讨论(1)
提交回复