潘威威 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-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相匹配的。)如下图:
跟步骤二一样,分别在 2182和2183 3个ZK上添加配置文件,并且根据端口不一样配置不同的端口信息,此处要注意,ZK的数据目录是各自维护的, 别黏贴复制错了!!要记得改!