PS:Zookeeper从版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。
zookeeper是基于jdk的,环境要有jdk
查看是否已安装JDK
[root@192 src]# java -version
// 已安装
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
下载zookeeper 及解压
wget https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
tar -xzvf apache-zookeeper-3.6.2-bin.tar.gz
配置
1、进入apache-zookeeper-3.6.2-bin创建data文件
cd apache-zookeeper-3.6.2-bin
mkdir data
2、进入conf配置目录,复制zoo_sample.cfg 命名zoo.cfg
cp zoo_sample.cfg zoo.cfg
3、通过vim修改zoo.cfg的dateDri。此路径用于存储zookeeper中数据的内存快照、及事物日志文件
# 配置单元时间。单元时间是ZooKeeper的时间计算单元,其他的时间间隔都是使用tickTime的倍数来表示的。
tickTime=2000
# 节点的初始化时间。
# 该参数用于Follower(从节点)的启动,并完成与Leader(主节点)进行数据同步的时间。Follower节点在启动过程中,会与Leader节点建立连接并完成对数据的同步,从而确定自己的起始状态。Leader节点允许Follower节点在initLimit时间内完成这项工作。该参数默认值为10,表示是参数tickTime值的10倍。
initLimit=10
# 心跳最大延迟周期。
# 该参数用于配置Leader节点和Follower节点之间进行心跳检测的最大延时时间。在ZK集群运行的过程中,Leader节点会通过心跳检测来确定Follower节点是否存活。如果Leader节点在syncLimit时间内无法获取到Follower节点的心跳检测响应,那么Leader节点就会认为该Follower节点已经脱离了和自己的同步。该参数默认值为5,表示是参数tickTime值的5倍。
syncLimit=5
# 是zookeeper持久化数据存放的目录。myid文件处于此目录下。
dataDir=/tmp/zookeeper/data
# 日志目录选项,如果没有设置该参数,默认将使用和dataDir相同的设置。
dataLogDir=/tmp/zookeeper/log
# zookeeper监听客户端连接的端口,默认是2181。
clientPort=2181
4、进入zookeeper的bin目录,
./zkServer.sh start #启动zookeeper
./zkServer.sh stop #关闭
./zkServer.sh status # 查看状态
# 出现下面信息启动成功
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /src/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
参考文章:zookeeper安装及常用命令
网友评论