Zookeeper安装以windows系统为例。
一、安装
1.前提条件
Zookeeper运行在Java1.6+上,因此首先要确保系统中已安装java1.6+。
2.下载
在下载地址中选择合适的版本下载Zookeeper。
3.解压
将下载的压缩包解压到指定目录,如D:\zookeeper。
二、配置
Zookeeper有三种部署方式:单机、伪集群、集群。在Zookeeper的主目录%ZK_HOME%的conf目录下,有一个zoo_sample.cfg,复制一份更名为zoo.cfg。
无论哪种部署方式都要关注dataDir与dataLogDir两个属性,这个两个属性分别用来设置存储数据和日志的目录。
单机:
单机模式可以不配置其他任何属性。
伪集群:
创建三个配置文件zoo1.cfg、zoo2.cfg、zoo3.cfg,每一个配置文件对应一个伪集群中的Zookeeper实例。
由于是由一台机器模拟三个Zookeeper实例,所以三个文件中的dataDIr、dataLogDir均不同,此外clientPort也不同。
相对于单机部署,每个zoo配置文件中还要配置Zookeeper集群中,每个机器的信息。例如:
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
根据上述配置中server.x的编号,在对应的dataDir目录下创建一个名为myid的文件,文件内容即为序号x。
集群:
由于Zookeeper实例是分布在不同的机器上,所以只需要一个zoo.cfg文件,为了便于维护,通常同一集群中的Zookeeper的dataDir、dataLogDir、clientPort都是相同的。集群中每个机器的信息配置与伪集群模式类似:
server.1=zk1:2881:3881
server.2=zk2:2881:3881
server.3=zk3:2881:3881
根据配置信息在对应的主机上的dataDir目录下创建myid文件,内容为对应的序号。
三、启动
单机:windows:直接执行zkServer.cmd;linux:sh zkServer.sh start伪集群:windows:运行前需要复制zkServer.cmd为zkServer.cmd1、zkServer2.cmd、zkServer3.cmd,将其中的ZOOCFG分别设置为对应的zoo1.cfg、zoo2.cfg、zoo3.cfg。然后分别执行zkServer1.cmd、zkServer2.cmd、zkServer3.cmd;linux:直接执行sh zkServer.sh start ../conf/zoo1.cfg、sh zkServer.sh start ../conf/zoo2cfg、sh zkServer.sh start ../conf/zoo3.cfg
集群:每台机器都执行windows:直接执行zkServer.cmd;linux:sh zkServer.sh start
四、验证
windows:通过执行zkCli.cmd查看是否能够与server正常连接。linux:通过执行sh zkServer.sh status ../conf/zoo1.cfg ...(伪集群)或zkServer.sh status(集群)来查看Zookeeper实例状态。如果为leader或follower,则表示启动正常。