- 下载
下载地址:https://archive.apache.org/dist/zookeeper/
- 解压
tar -xvf apache-zookeeper-3.5.5.tar.gz
- 删除安装包
rm -rf apache-zookeeper-3.5.5.tar.gz
- 重命名
mv apache-zookeeper-3.5.5 zookeeper
- 配置环境变量
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
source /etc/profile
-
配置 ZooKeeper
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
mkdir /usr/local/zookeeper/data
vi zoo.cfg
zoo.cfg 文件中内容如下
tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间
initLimit:多少个心跳时间内,允许其他 server 连接并初始化数据,如果 ZooKeeper 管理的数据较大,则应相应增大这个值
clientPort:服务的监听端口
dataDir:用于存放内存数据库快照的文件夹,同时用于集群的 myid 文件也存在这个文件夹里(注意:一个配置文件只能包含一个 dataDir 字样,即使它被注释掉了。)
dataLogDir:用于单独设置 transaction log 的目录,transaction log 分离可以避免和普通 log 还有快照的竞争
syncLimit:多少个 tickTime 内,允许 follower 同步,如果 follower 落后太多,则会被丢弃。server.A=B:C:D:
A 是一个数字, 表示这个是第几号服务器,B 是这个服务器的 ip 地址
C 第一个端口用来集群成员的信息交换, 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口
D 是在 leader 挂掉时专门用来进行选举 leader 所用 - 启动 Zookeeper
/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zoo.cfg
- 查看 ZooKeeper 的状态
zkServer.sh status