一、官网
二、简介
Apache ZooKeeper致力于开发和维护开源服务器,实现高度可靠的分布式协调。
ZooKeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。所有这些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做很多工作来修复不可避免的错误和竞争条件。由于难以实现这些类型的服务,应用程序最初通常会吝啬它们,这使得它们在变化的情况下变得脆弱并且难以管理。即使正确完成,这些服务的不同实现也会在部署应用程序时导致管理复杂性。
三、下载
复制链接地址 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
linux中执行
[root@iz2zebb7s8ui8b5mmag51xz software]# wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
四、安装配置Zookeeper
(1)压解安装
[root@iz2zebb7s8ui8b5mmag51xz software]# tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/apps/
(2)建立软件接
-
[root@iz2zebb7s8ui8b5mmag51xz apps]# cd /opt/apps/
-
[root@iz2zebb7s8ui8b5mmag51xz apps]# ln -s zookeeper-3.4.14/ zookeeper
结果如下
(3)复制配置文件
复制Zookeeper安装目录下的conf目录中的zoo_sample.cfg文件,并命名为zoo.cfg
(4)修改配置文件
-
tickTime:ZooKeeper使用的基本时间单位(以毫秒为单位)。它用于做心跳,最小会话超时将是tickTime的两倍,单位毫秒。
-
initLimit::Follower初始化同步的超时时限,单位为tickTime的倍数。集群启动或新Leader选举完成后,Follower需要从Leader同步数据,如果需要同步的数据量较大,则可能超时。一旦超时,同步失效。
-
syncLimit :Follower更新同步的超时时限,单位为tickTime的倍数。后续同步与初始化同步的不同点在于,初始化同步的数据量要大于后续同步的,后续同步的数据量一般是较小的。所以,对于initLimit是否超时,更多是取决于网络质量。如果超时,Leader就认为该Follower落后太多需要放弃。如果网络为高延迟环境,可适当增加该值,但不宜增加太大,否则会掩盖某些故障。
-
dataDir::ZKServer的数据在内存中是以DataTree树形结构进行存储的,而快照就是每隔一段时间就会把整个DataTree的数据序列化后存储在磁盘中,以备在故障时可以迅速恢复,这些存储在磁盘中的文件就是zk的快照文件。该路径为快照文件存储路径。默认给出的路径在/tmp中,提示也指出,不要将快照存储路径设置到/tmp
-
clientPort::客户端连接zkServer的端口号,每台ZKServer允许设置为不同的值。默认配置文件设定的是2181
(5)新建数据存放目录
[root@iz2zebb7s8ui8b5mmag51xz usr]# mkdik -p /usr/data/zookeeper/
(6)配置环境变量
执行 vim /etc/profile
在文件末尾新增配置
-
export ZK_HOME=/opt/apps/zookeeper
-
export PATH=$ZK_HOME/bin:$PATH
(7)重新加载profile文件
[root@iz2zebb7s8ui8b5mmag51xz zookeeper]# source /etc/profile
五、操作Zookeeper
(1)启动
(2)查看状态
(3)重启
(4)停止