首页技术文章正文

Zookeeper之ACL和进程协作【黑马java培训】

更新时间:2019年07月26日 10时53分00秒 来源:黑马程序员论坛

实现节点的增删
打开 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
运行项目



推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 产品经理培训 Linux运维
大数据培训 智能机器人软件开发




传智播客是一家致力于培养高素质软件开发人才的科技公司“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。

传智播客从未停止思考

传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”

中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。

何为中高级程序员课程?

传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。




黑马程序员热门视频教程【点击播放】

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!