1. 下载地址
镜像库地址:http://archive.apache.org/dist/zookeeper/
apache-zookeeper-3.6.0.tar.gz需要安装maven,然后再运行mvn clean install 和mvn javadoc:aggregate,前一个命令会下载安装好多jar包,不知道要花多长时间
apache-zookeeper-3.6.0-bin.tar.gz已经自带所需要的各种jar包
2. 本地模式安装
2.1 安装前的准备
- 安装jdk
- 拷贝apache-zookeeper-3.6.0-bin.tar.gz到opt目录
- 解压安装包
[root@localhost opt]# tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz
4. 重命名
[root@localhost opt]# mv apache-zookeeper-3.6.0-bin zookeeper
2.1.2 配置修改
1. 在/opt/zookeeper/这个目录上创建zkData和zkLog目录
[root@localhost zookeeper]# mkdir zkData
[root@localhost zookeeper]# mkdir zkLog
2. 进入/opt/zookeeper/conf这个路径,复制一份 zoo_sample.cfg 文件并命名为 zoo.cfg
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
3. 编辑zoo.cfg文件,修改dataDir路径
dataDir=/opt/zookeeper/zkData
dataLogDir=/opt/zookeeper/zkLog
4. zookeeper会占用8080端口,在zoo.cfg配置文件中增加下条命令将端口改成8887
admin.serverPort=8887
2.1.3 操作Zookeeper
1. 启动Zookeeper
[root@localhost bin]# ./zkServer.sh start
2. 查看进程是否启动
[root@localhost bin]# jps
QuorumPeerMain:是zookeeper集群的启动入口类,是用来加载配置启动QuorumPeer线程的
3. 查看状态
[root@localhost bin]# ./zkServer.sh status
4. 启动客户端
[root@localhost bin]# ./zkCli.sh
5. 退出客户端
[zk: localhost:2181(CONNECTED) 0] quit
2.2 配置参数解读
Zookeeper中的配置文件zoo.cfg中参数含义解读如下:
- tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就 是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
- initLimit =10:LF初始通信时限
集群中的Follower跟随者服务器与Leader领导者服务器之间,启动时能容忍的最多心跳数10*2000(10个心跳时间)如果领导和跟随者没有发出心跳通信,就视为失效的连接,领导 和跟随者彻底断开
- syncLimit =5:LF同步通信时限
集群启动后,Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime->10秒,Leader就认为Follwer已经死掉,会将Follwer从服务器列表中删除
- dataDir:数据文件目录+数据持久化路径
主要用于保存Zookeeper中的数据。
- dataLogDir:日志文件目录
- clientPort =2181:客户端连接端口监听客户端连接的端口。
节选自拉钩教育JAVA系列培训教程