zookeeper

zookeeper

 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

zookeeper集群以奇数做集群,示例是三台服务器。

三台分别定义id文件的内容对应内容。

zookeeper1  zoo1  192.168.100.101  myid1
zookeeper2  zoo2  192.168.100.102  myid2  
zookeeper3  zoo3  192.168.100.103  myid3  

 

下载地址:
http://mirrors.hust.edu.cn/apache/zookeeper/

安装配置 ;
# tar -xf zookeeper-3.4.9.tar.gz
# mv zookeeper-3.4.9/ zookeeper

进入到 zookeeper/conf目录,输入命令 cp zoo_sample.cfg zoo.cfg
进入到 zookeeper目录,新建子目录data和logs,
# mkdir -p zookeeper/{data,logs}

分别再进入到zookeeper-3.4.9/data 数据目录,对应创建ZK ID myid 标识分别为 1 2 3
创建文件 touch zookeeper/data/myid
#cat myid  
1

 

zoo.cfg 配置如下:

# cat zoo.cfg 

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/server/zookeeper/data dataLogDir=/opt/server/zookeeper/logs clientPort=2181 server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

 启动:

启动:
bin/zkServer.sh start

链接测试:
bin/zkCli.sh -server 127.0.0.1:2181

 

配置解析 :

1.tickTime:Client-Server通信心跳时间
tickTime=2000
// Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。

2.initLimit:Leader-Follower初始通信时限
initLimit=5
// 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。

3.syncLimit:Leader-Follower同步通信时限
syncLimit=2 
// 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。

4.dataDir:数据文件目录
dataDir=/zookeeper/data
// Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。

5.clientPort:客户端连接端口
clientPort=2181
// 客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

6.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)这个配置项的书写格式比较特殊,规则如下:
server.N=IP:Port:Port
server.1=zookeeper01:2888:3888
server.2=zookeeper02:2888:3888
server.3=zookeeper03:2888:3888

 

posted @ 2017-11-20 14:43  01234567  阅读(168)  评论(0编辑  收藏  举报