6 ,zookeeper windows 入门安装和测试(转)

一、序言

以下是我对zookeeper 的一些理解:

zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“例子”。

      假设你是一家酒吧的老板,我同时拥有5家酒吧,我肯定得时刻监视我酒吧的情况吧,是不是有人打架,或者发生火灾什么的,这时候我会给设置一个视频监控,然后每一家都连接到我的视频监控里面,那么我就可以在家里看到所有酒吧的情况了,如果某一家出现问题,我就能及时发现,并且做出反应。

这个视频监控就相当于zookeeper,每一家的连接,就相当于酒吧的信息。

二、安装过程

     2.1  http://mirrors.hust.edu.cn/apache/zookeeper/  下载,我的版本是 3.4.6(stable) 稳定

     2.2  解压到 F:\zookeeper-3.4.6 

     3.3  到目录conf 下创建 zoo.cfg 文件,默认就是加载这个文件,文件内容 我直接copy 的sample里面的

java代码

#zoo.cfg 的内容  

#   心跳检查的时间2秒  

tickTime=2000  

# 初始化时 连接到服务器端的间隔次数,总时间10*2=20秒  

initLimit=10  

# ZK Leader 和follower 之间通讯的次数,总时间5*2=10秒   

syncLimit=5  

# 存储内存中数据库快照的位置,如果不设置参数,更新事务日志将被存储到默认位置。  

dataDir=F:\\zk\\tmp\\zookeeper  

# 错误日志的存放位置  

dataLogDir=F:\\zk\\logs\\zookeeper  

# ZK 服务器端的监听端口  

clientPort=2181  

上面的说明介绍:http://zookeeper.apache.org/doc/current/zookeeperStarted.html

   然后 cd 到bin 目录下 执行zkServer.cmd 就启动成功了。

   注意:dataDir  和  dataLogDir 目录不会自动创建,得手动创建才能启动。

   可以用netstat -ano|findstr “2181” 看看是否OK。

   也可以用JPS 查看启动的JAVA 进程的情况,会出现这样

 也可以用自带客户端命令 :  zkCli.cmd -server 127.0.0.1:2181

   关于JPS的东西,可以自己去JAVA_HOME\bin 目录下去看,里面很多命令。

四、JAVA 操作zookeeper :

       上面安装挺简单的,我们来实际操作下:

       4.1  导入依赖:

<dependency>  

           <groupId>org.apache.zookeeper</groupId>  

           <artifactId>zookeeper</artifactId>  

 <version>3.4.6</version>

       </dependency>  

 zookeeper 的结构图和其他的一些功能,可参考:                                                                                         http://www.blogjava.net/shenh062326/archive/2011/10/29/zookeeper_yuling.html

       3.1  我们将F:\zookeeper-3.4.6\conf\下的zoo.cfg 改成zoo1.cfg,内容改为:

# 存储内存中数据库快照的位置,如果不设置参数,更新事务日志将被存储到默认位置。  

# 每一个文件路径和下面的对应,zk1 zk2 zk3  

dataDir=F:\\zk\\tmp\\zk1  

# 错误日志的存放位置  

dataLogDir=F:\\zk\\logs\\zk1  

# ZK 服务器端的监听端口  

# 对应分别:2181  2182  2183  

clientPort=2181  

# 伪集群   

#2887 是server 之间通讯的,3887 是应用程序通讯的  

# 同时加入其他两个服务的地址和端口信息  

server.1=127.0.0.1:2887:3887   

server.2=127.0.0.1:2888:3888   

server.3=127.0.0.1:2889:3889   

# 最后在钱文件目录下创建3份,zoo1.cfg,zoo2.cfg,zoo3,cfg 记得改参数  

 3.2 同时我们将F:\zookeeper-3.4.6\bin\下的 zkServer.cmd 改为zkServer1.cmd,内容加上:

set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain  

# 读取配置的路径,每个启动服务对应一份  

set ZOOCFG=..\conf\zoo1.cfg  

# 同理创建3个zkServer1.cmd,zkServer2.cmd,zkServer3.cmd  记得改zoo 1 2 3.cfg  

 3.3 还得在dataDir 指定目录,也就是F:\\zk\\tmp\\zk1 下创建myid 的文件,内容对应1 2 3 即可。

  这个的数字是唯一的,在1-255 之间,用来表示自身的id(其实我不明白 为啥zk 要这么设计- -!)

   3.4 启动3个zkServer1.cmd 就OK了,如果要多服务器配置,只需要要将 3份分开放到不同服务器就OK

   依次启动的时刻有错误信息,因为你启动server1 的时候 2 和 3 没找到,但是后面都启动了 就没问题了。

小结:

      1.zookeeper  现在大家都用得比较多,这里也是仅仅介绍下入门知识,linux 上安装区别不打,还是得看具体应用。

      2.关于选举、一致性 和一些其他的东西,慢慢再写!

      3.有错误,请指出哦~。~ 感激。

参考资料:

官网的:

http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html

API 文档:

http://zookeeper.apache.org/doc/r3.4.6/api/

别人介绍的一些流程:

http://cailin.iteye.com/blog/2014486

常用的场景:

http://nileader.blog.51cto.com/1381108/1040007

    原文作者:滔滔逐浪
    原文地址: https://www.jianshu.com/p/5ea8476e20d6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞