Zookeeper安装与配置

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

Zookeeper的安装和配置十分简单, 既可以配置成单机模式,也可以配置成集群模式,下面将分别进行介绍:

 

一、单机模式

下载Zookeeper的安装包之后,解压到合适目录,进入Zookeeper目录下的conf子目录,创建zoo.cfg:

tickTime=2000
dataDir==/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/logs
clientPort=2181

 

参数说明:

  • tickTime:Zookeeper中使用的基本时间单位,毫秒值。
  • dataDir:数据目录,可以是任意目录。
  • dataLogDir:日志目录,同样可以是任意目录。如果没有设置该参数,将使用和dataDir相同的设置。
  • clientPort:监听Client连接的端口号。

二、集群模式

 以启动3个Zookeeper进程为例,将Zookeeper的目录拷贝2份,更改zookeeper{index}/conf/zoo.cfg文件:

tickTime=2000
dataDir=/tmp/zookeeper0/data
dataLogDir=/tmp/zookeeper0/logs
clientPort=2181
initLimit=5
syncLimit=2
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772

 

新增了几个参数,其含义如下:

  • initLimit:Zookeeper集群中的包含多台Server,其中一台为Leader,其余的Server为Follower。initLimit参数配置初始化连接时,Follower和Leader之间的最长心跳时间。此时该参数设置为5,说明时间限制为5倍tickTime,即5 * 2000 = 10000ms = 10s。
  • syncLimit:该参数配置Leader和Follower之间发送消息,请求和应答的最大时间长度。此时该参数设置为2,说明时间限制为2倍tickTime,即4000ms。
  • server.X = A:B:C:其中X是一个数字,表示这是第几号Server。A是该Server所在的IP地址。B配置该Server和集群中的Leader交换消息所使用的端口。C配置选举Leader时所使用的端口。

在之前设置的dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号Server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应:

 

  • /tmp/zookeeper0/data/myid文件中写入0
  • /tmp/zookeeper1/data/myid文件中写入1
  • /tmp/zookeeper2/data/myid文件中写入2

你可能感兴趣的:(zookeeper)