ZooKeeper是一个分布式的,开源的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。
它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
1.下载ZooKeeper,选择你需要的版本
http://apache.fayea.com/zookeeper/
我选择的是zookeeper-3.4.9稳定版
2. 解压到你的文件 我存放的是D:\API\zookeeper-3.4.9
3.创建一个zoo.cfg,我这里是使用拷贝zoo_sample.cfg,然后直接重命名。解释下各个属性:
tickTime 每次心跳检测的间隔时间,单位是毫秒
initLimit 集群中follower服务器和Leader服务器之间初始连接时能容忍的最大心跳次数,超过这个时间连接失败。如果超过这个时间大多数follower没有完成同步,Leader宣布放弃领导位置,进行一次新的选举。默认为10,如果zk集群数量庞大可以适当调大这个参数。
syncLimit 集群中follower服务器和Leader服务器之间请求和应答之间能容忍的最大心跳次数,超过这个时间此follower将被丢弃,所有关联到这个跟随者的客户端将连接到另外一个跟随者。
dataDir 存放数据的目录
clientPort 客户端连接使用的端口号
maxClientCnxns 允许的最大连接数
autopurge.snapRetainCount 保存在数据目录的快照数
autopurge.purgeInterva 清除任务的执行间隔,单位是小时
配置自定义的配置
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=D:/data/zookeeper
双击bin下面的zkServer.cmd
5.查看zookeeper状态,需要用到netcat
下载地址:https://eternallybored.org/misc/netcat/
解压出来,然后命令行到同一个目录,敲击命令:
echo ruok | nc localhost 2181
可以看到有一个imok应答,当然你也可以使用conf命令查看配置
6.连接到zookeeper
打开一个新的命令行,切换到zookeeper的bin目录下面,敲入命令:
zkCli -server localhost:2181
然后你就可以自己创建zNode了,以上是单机版的安装配置步骤。
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=D:/data/zk_cluster/zk_data/zk1
server.1=localhost:2881:3887
server.2=localhost:2882:3888
server.3=localhost:2883:3889
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2182
dataDir=D:/data/zk_cluster/zk_data/zk2
server.1=localhost:2881:3887
server.2=localhost:2882:3888
server.3=localhost:2883:3889
zk3:
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2183
dataDir=D:/data/zk_cluster/zk_data/zk3
server.1=localhost:2881:3887
server.2=localhost:2882:3888
server.3=localhost:2883:3889
前几台实例出现实例异常是正常情况,全部启动好了就消失了
5.查看各个实例
6.伪集群模式搭建完成,真正的集群模式更简单,端口号完全可以完全一样