目录
- 1 安装
- 2 配置
- 3 启动和测试
1 安装
读者可以从“http://archive.apache.org/dist/”下载ZooKeeper安装包,也可以在本章软件资源文件夹中找到zookeeper-3.4.9.tar.gz文件。请将该文件复制到Master的“/home/csu/”目录下,进入该目录后执行解压缩命令:
tar -zxvf zookeeper-3.4.9.tar.gz
2 配置
- 服务器集群属性
ZooKeeper的服务器集群属性配置文件是zoo.cfg,该文件在安装目录的“conf”子目录下。系统为用户准备了一个模板文件zoo_sample.cfg,我们可以将其复制并改名,得到zoo.cfg文件,然后进行修改。首先进入“conf”子目录,然后执行命令“cp zoo_sample.cfg zoo.cfg”。
server.1=master:2888:3888
server.2=slave0:2888:3888
server.3=slave1:2888:3888
上述代码是按照“服务器编号、服务器地址、LF通信端口和选举端口”的顺序排列的,其中,server表示ZooKeeper的服务器集群,我们这里配置了3台服务器,server后面的数字代表服务器的ID,等号后面紧跟的是服务器地址,这里使用了主机名;2888是LF(即Leader节点与Follower节点之间的)通信端口,3888是选举端口。
- 创建节点标识文件
上面我们通过zoo.cfg文件为ZooKeeper服务器集群中的每台服务器赋予了一个ID,master是1,slave0是2,slave1是3。但是,每台服务器在本地也需要一个myid文件,里面仅包含一行代码,就是其ID。所以,myid文件是节点标识文件,默认放置在“/tmp/zookeeper”目录下(参见zoo.cfg文件),但需要由用户自己创建。下面以Master为例进行讲解,我们首先来创建“/tmp/zookeeper”目录。
mkdir -p /tmp/zookeeper
执行“gedit /tmp/zookeeper/myid”命令来创建myid文件。
注意,其他Slave上也要进行同样的设置,只是ID不同而已。
- 复制ZooKeeper安装文件
用户需要根据自己Linux集群的具体情况,将上面安装好的ZooKeeper文件复制到Slave,这里需要复制两次,分别是Slave0和Slave1,其中,复制到Slave0的命令是“scp -r zookeeper-3.4.9 slave0:~/”,如图6-33所示。
scp -r zookeeper-3.4.9 slave0:~/
至此,我们就完成了ZooKeeper的安装。
3 启动和测试
要启动ZooKeeper,需要分别登录到Master和Slave进行启动操作。例如,要启动Master的ZooKeeper服务器,首先进入ZooKeeper安装目录,然后执行启动命令。请特别注意zkServer.sh中的大写字母,如果误写成小写的s,系统会提示无该文件或目录(no such file or directory)。
./zkServer.sh start
按下Enter键后,如果启动正常,看到的信息。
bin/zkServer.sh status
系统给出的信息表明,该节点(Master)是一个Follower节点。根据ZooKeeper的工作原理,集群中应当有一个“leader”,不妨查看一下其他节点的状态,我们这里看到Slave0是Leader节点,结果如图6-37所示。
显然,谁是Leader节点谁是Follower节点,是由系统根据ZooKeeper选举机制确定的。要停止ZooKeeper服务,可在安装目录下执行“bin/zkServer.sh stop”命令。
- ZooKeeper客户端
ZooKeeper也提供了一个客户端供用户进行交互式操作,进入ZooKeeper客户端的命令是:
bin/zkCli.sh -server master:2181
注意上述命令中的大小写,执行成功将看到的提示信息,其中“[zk: master:2181(CONNECTED) 0]”就是客户端命令行提示符。
quit退出ZooKeeper客户端。