ZooKeeper集群配置应用

潘威威 2013-05-28

概要

ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

本文仅阐述ZooKeeper集群的配置方法(windows 7 64bit 环境下)。3个ZK实例~

关于ZooKeeper的工作原理本文不做阐述,详见  ZooKeeper原理与它的集群工作流程 

步骤一:

       解压三份"zookeeper-3.4.5" 至任意磁盘目录下,我这里放在D:盘根目录,分别命名为”zookeeper-3.4.5 2181“、”zookeeper-3.4.5 2182“、”zookeeper-3.4.5 2183“ 如下图


ZooKeeper集群配置应用
 

 

步骤二:

       开始配置其中命名为 zookeeper-3.4.5 2181 ,打开目录 D:\zookeeper-3.4.5 2181\conf ,在该目录下新建文件”zoo.cfg“ , 内容为如下

tickTime=2000 
initLimit=10
syncLimit=5

dataDir=D:/zookeeper-3.4.5 2181/data
clientPort=2181

server.1=localhost:2881:3881 
server.2=localhost:2882:3882 
server.3=localhost:2883:3883

     这里说明一下部分参数:

         tickTime:Zookeeper服务器心跳时间,单位毫秒;

     initLimit:投票选举新leader的初始化时间;

      syncLimit:Leader与Follower之间的最大响应时间单位,响应超过syncLimit*tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer

         dataDir: 属于当前端口为2181的ZK数据目录,如果没有这个路径,请手动建立该文件夹”D:/zookeeper-3.4.5 2181/data“; 

     clientPort:表示当前zk的端口;

     server.1\server.2\server.3:是集群的端口及备用端口,因为此文要配置3个ZK组成的集群,所以这里有3个。

        

步骤三:

       因为是集群,所以要指定zookeeper的序列编号, 这个很关键,否则启动将失败,打开data目录“D:/zookeeper-3.4.5 2181/data”,在其目录中建立文件  "myid" (无类型);打开(尽量使用UE打开),写入值 1 (如果是2182的写入2,2183写入3,这个值其实是跟zoo.cfg中的server.1 后面的 .1相匹配的。)如下图:


ZooKeeper集群配置应用
 

步骤四:

       跟步骤二一样,分别在 2182和2183 3个ZK上添加配置文件,并且根据端口不一样配置不同的端口信息,此处要注意,ZK的数据目录是各自维护的, 别黏贴复制错了!!要记得改!   

同样在每个目录下都要有 myid文件,  2182的myid值为2,2183的值为3, 这个值其实是对应zoo.cfg文件中server.1 后面的 .1的。

相关推荐