1 安装准备
- 系统:CentOS 6.x-7.x
- zookeeper版本:zookeeper-3.4.6
- JDK
- 下载链接:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
2 单机安装过程
选择安装目录:例如安装在/usr/local/或者/opt/下都可以。
$ tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/
$ cd /opt
建立一个软连接:
$ ln -s zookeeper-3.4.6 zookeeper
创建zookeeper数据和日志存放目录:
$ mkdir -p /opt/zookeeper/data
$ mkdir -p /opt/zookeeper/logs
配置:
进入zookeeper安装目录下conf文件夹,将zoo_sample.cfg文件拷贝一份命名为zoo.cfg:
$ cd conf/
$ cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件:
$ vim zoo.cfg
# 心跳检测的时间间隔(毫秒),缺省:2000
tickTime=2000
# 初次同步的阶段(followers连接到leader的阶段),允许的时长initLimit*tickTime (tick数量),缺省:10
initLimit=10
# 允许followers同步到ZooKeeper的时长 syncLimit*tickTime(tick数量),缺省:5
syncLimit=5
# 数据(比如快照文件、事务日志文件、pid文件和myid)的存放路径,初始时应该为空
# 注意:事务日志的路径可以通过dataLogDir来配置,默认是在dataDir
dataDir=/opt/appl/zookeeper-3.4.6/data
# 事务日志文件存储目录 默认存储在上述 dataDir 对应的目录下
# dataLogDir=/usr/local/zookeeper/logs
# 客户端连接端口,默认为2181
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
# maxClientCnxns=60
# The number of snapshots to retain in dataDir
# autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
# autopurge.purgeInterval=1
启动zookeeper:
$ bin/zkServer.sh start
查看zookeeper状态:
$ bin/zkServer.sh status
JMX enabled by default
Using config: /opt/appl/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: standalone
停止zookeeper:
$ bin/zkServer.sh stop
3 集群安装
同单机一样安装,配置有以下不同。注
我这里有三台机器,所有机器zk配置应该保持一致。
把ID写入zookeeper安装目录下data/myid文件:
机器1:132.32.1.11
echo 1 > data/myid
机器2:132.32.1.12
echo 2 > data/myid
机器3:132.32.1.13
echo 3 > data/myid
编辑zoo.cfg文件,添加一下配置:
# zk 节点配置,server.x,x为data/myid文件中的数字
server.1=132.32.1.11:2888:3888
server.2=132.32.1.12:2888:3888
server.3=132.32.1.13:2888:3888
依次启动,然后查看状态:
$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/appl/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
三台机器有一个leader,两个follower即为正确。