0%

ZooKeeper官方文档之入门指南

一、搭建ZooKeeper集群

搭建ZooKeeper集群需满足“ZooKeeper集群内ZooKeeper Server数量大于等于3,且为奇数”。以3个ZooKeeper Server搭建ZooKeeper集群为例进行说明。
现有服务器A,B,C,由于在A,B,C上的搭建过程一般情况下完全一致,所以,接下来只列出在A上的搭建过程(在B和C上复制搭建过程后,即完成整个ZooKeeper集群的搭建)。
搭建过程:

  1. 从官网下载ZooKeeper包
  2. 解压ZooKeeper包,以“DIR”指代解压后的目录
  3. 在“DIR/conf”目录下创建配置文件“zoo.cfg”,其内容如“配置文件1”所示
  4. 执行DIR/bin/zkServer.sh start命令,运行A上的ZooKeeper Server

配置文件1:

1
2
3
4
5
6
7
8
9
server.1=A:2888:3888
server.2=B:2888:3888
server.3=C:2888:3888
clientPort=2181
dataDir=/var/lib/zookeeper/data
dataLogDir=/var/lib/zookeeper/transaction
tickTime=2000
initLimit=5
syncLimit=2

配置文件中的参数说明见下表。

参数名称 说明
server.N 参数中“N”表示指代ZooKeeper Server的唯一标识数字,该值跟数据目录下“myid”文件中的值一一对应。参数值中的配置都针对该ZooKeeper Server而言,参数值形式如服务器地址:端口1:端口2,“服务器地址”为运行ZooKeeper Server的服务器地址,“端口1”用于集群内ZooKeeper Server之间的通信,“端口2”用于集群内的Leader ZooKeeper Server选举过程
clientPort 客户端请求监听端口号
dataDir 数据存放目录,其下的“myid”文件中存放指代本ZooKeeper Server的唯一标识数字
dataLogDir 事务日志存放目录,默认即“dataDir”指代的数据存放目录。当“dataLogDir”取与“dataDir”不同目录时,有利于降低集群延迟
tickTime 基本时间单元,单位毫秒。控制心跳和超时,比如默认最小的会话超时时间为2*tickTime
initLimit Follower ZooKeeper Server与Leader ZooKeeper Server建立初始化连接的超时时间,实际时间值为initLimit*tickTime
syncLimit Follower ZooKeeper Server与Leader ZooKeeper Server建立连接后连接断开的超时时间,实际时间值为syncLimit*tickTime

二、客户端连接ZooKeeper集群

执行如下命令开启一个与ZooKeeper集群建立连接的命令行客户端:

1
DIR/bin/zkCli.sh -server ZooKeeper集群中某个ZooKeeper Server所在的服务器地址:相应的客户端请求监听端口号(即“clientPort”参数配置值)

在命令行客户端中可执行“create,delete,set,get,ls”等命令操纵ZooKeeper Server的数据模型。


文档地址:https://zookeeper.apache.org/doc/r3.4.10/zookeeperStarted.html
您的支持将鼓励我继续分享!