设为首页 收藏本站
查看: 821|回复: 0

[经验分享] zookeeper第一课:编程环境搭建和结点操作

[复制链接]

尚未签到

发表于 2019-1-8 14:04:05 | 显示全部楼层 |阅读模式

    Zookeeper是很多开源项目的基础架构,比如HBase/Hadoop/Solr……学习Zookeeper能更好地了解这些项目的基本原理。毕竟熟悉程度决定使用高度。Zookeeper的编程环境搭建非常容易。在这里记录一下在win7下搭建Zookeeper编程环境的过程。

  

一、下载Zookeeper
  

地址http://download.nextag.com/apache/zookeeper/ 。我下载的是zookeeper-3.4.5 。个人觉得开发的时候不要用最新的,除非对该开源项目已经非常熟悉,不怕踩坑。
  

二、服务端环境搭建
  

首先把下载到的zookeeper解压,我解压到D:\source_code\zookeeper-3.4.5 。解压后,目录如下:
  


然后把conf\zoo_sample.cfg修改成zoo.cfg,打开zoo.cfig,内容如下:
  


把dataDir=/tmp/zookeeper修改成dataDir=D:\\zk_tmp (zookeeper一般跑在linux服务器。)
  

至于zoo.cfg里面的参数及其意义,我们先不作了解。主要是因为我现在也不了解。
  


  

然后转到bin\下面,启动zookeeper。启动方法如下:shift+鼠标右键,然后打开命令窗口。然后在命令窗口中输入zkServer.cmd,回车就OK了。
  



  

接下来,用同样的方法再打开一个命令行窗口,执行命令: netstat – ano 查看监听的端口(默认是2181)及地址,我电脑上的结果如下:可以看到地址是0.0.0.0:2181,而不是127.0.0.1:2181
  


三、客户端环境搭建
  

在eclipse中创建新的java project,取名:zookeeper_learning,把项目转换成maven项目,然后在pom.xml中加入如下的dependency
  


  

org.apache.zookeeper
  

zookeeper
  

3.4.5
  


  

然后,创建Java类如下:
  

(代码参看http://blog.csdn.net/shenlan211314/article/details/6187037,略有修改)
  


  

package zookeeper_learning;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
publicclass ZkClient {
publicstaticvoid main(String[] args) {
try {
ZooKeeper zk=new ZooKeeper("0.0.0.0:2181", 3000, new Watcher(){
@Override
publicvoid process(WatchedEvent arg0) {
System.out.println("watch "+arg0);
}
});
System.out.println("/n1. 创建 ZooKeeper 节点 (znode : zoo2, 数据: myData2 ,权限: OPEN_ACL_UNSAFE ,节点类型: Persistent");
zk.create("/zoo2","myData2".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
System.out.println("/n2. 查看是否创建成功: ");
System.out.println(new String(zk.getData("/zoo2",false,null)));
System.out.println("/n3. 修改节点数据 ");
zk.setData("/zoo2", "shenlan211314".getBytes(), -1);
System.out.println("/n4. 查看是否修改成功: ");
System.out.println(new String(zk.getData("/zoo2", false, null)));
System.out.println("/n5. 删除节点 ");
zk.delete("/zoo2", -1);
System.out.println("/n6. 查看节点是否被删除: ");
System.out.println(" 节点状态: ["+zk.exists("/zoo2", false)+"]");
zk.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}执行结果如下则正常:
  


麻雀虽小,还是把Zookeeper对结点的简单操作演练了一遍.

  






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660834-1-1.html 上篇帖子: 【分布式协调zookeeper】基础篇 下篇帖子: zookeeper第一课:编程环境搭建和结点操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表