一、前言
在大型分布式集群系统中,Zookeeper是一个非常重要的分布式协调服务组件;其应用场景非常广泛,如做服务的注册中心、实现分布式锁以及集群Master选举等等。本文讲述的,就是Zookeeper集群的搭建。
二、准备
Zookeeper本身是由Java语言开发的一个相对独立的基础分布式组件,因此,Zookeeper的安装除了需要安装JVM外,不再需要依赖其它环境。
2.1、机器环境准备
我们准备3台机器,并都装好JDK且设置好hostname。
说明:在Zookeeper集群中,若超过半数以上服务节点不可用,才会造成整个服务不可用,所以其集群节点数一般都是至少3个节点以上的奇数个。当然,如果物理机器不够,也可以搭伪集群或者通过VM实现,此处不再赘述)
2.2、下载地址
下载地址:http://archive.apache.org/dist/zookeeper/
(可选择自己需要的版本。笔者测试时,选择的是最新稳定版本3.4.12)
2.2 配置zoo.cfg
在Zookeeper解压包下的conf
目录下,有一个示例配置文件zoo_sample.cfg
,我们可以复制一份,重命名为zoo.cfg
,并在zoo.cfg
文件中添加我们集群的相关配置信息。
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=/usr/local/cndmss/zk/data
dataLogDir=/usr/local/cndmss/zk/dataLog
server.1=192.168.5.101:2888:2889
server.2=192.168.5.102:2888:2889
server.3=192.168.5.103:2888:2889
master选举会根据server.Id 判断权重。