安装Zookeeper需要的环境是jdk1.7或者以上的版本。
系统linux和Windows皆可,这里讲解的是在linux系统下安装。
安装Zookeeper的文件包,在linux下安装需要zookeeper-3.4.14.tar.gz
链接地址:http://www.apache.org/dyn/closer.cgi/zookeeper/
下载后上传到系统中,进行安装
命令:tar –zxvf zookeeper-3.4.14.tar.gz
安装后我们需要配置Zookeeper,这里我们选择配置单机分布式的环境,因为Zookeeper的特性在分布式下Zookeeper的项目数只能为奇数不能为偶数,因为它自身的选举特性而定的,这里我们先不叙说。
所以我们需要启动三个Zookeeper项目,这里我们需要创建三个Zookeeper的数据源目录文件夹,而且需要在每一个数据源目录文件夹下创建一个myid的文件,在文件下面写入相应的数字需要和分布式的server.1 server.2 server.3 相互对应。
本人选择创建在home文件夹
命令:mkdir –p /home/zookeeper/zk/zkserver1
mkdir –p /home/zookeeper/zk/zkserver2
mkdir –p /home/zookeeper/zk/zkserver3
结果:
并且在每个文件夹下创建一个myid的文件,我在内部写入对应的1 2 3(这里很重要,如果不写,后面启动Zookeeper会报错,因为server无法找到对应的数据源目录)
数据源目录创建完毕,我们需要在Zookeeper的conf文件夹下面创建对用的相关配置信息
在conf文件夹下有一个zoo_sample.cfg 这样的事例文件,
文件下面有如下属性:
tickTime:CS通信心跳时间
initLimit:LF初始通信时限
syncLimit:LF同步通信时限
dataDir:数据文件目录
clientPort:客户端连接端口
服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)server.N=YYY:A:B
我们配置信息如下:
tickTime=5000
initLimit=10
syncLimit=5
#如果在一台机器的话 3个文件分别改为zookserver1,zookserver2,zookserver3
dataDir=/home/zookeeper/zookserver1
#如果在一台机器的话 3个文件的端口不能相同
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
在bin目录下启动服务
./zkServer.sh start zoo1.cfg
./zkServer.sh start zoo2.cfg
./zkServer.sh start zoo3.cfg
如图:
在bin目录下查看集群状态:
./zkServer.sh status zoo1.cfg
./zkServer.sh status zoo2.cfg
./zkServer.sh status zoo3.cfg
如图:
启动后的显示中一定会自动选举出来一个leader和两个follower。