1. Zookeeper介绍

Apache ZooKeeper 是Apache 软件基金会的一个软件项目,他所解决的是在大型分布式系统中的调度问题,Zookeeper原先是由Yahoo开发的。
Zookeeper作为一个分布式和高可用的中心化的调度服务,运行在一个我们称之为Zookeeper集群的一个服务集群之中。分布式一致,组管理,Leader选举都通过这个服务所实现,因此在我们自己的应用程序当中,就不需要重复造轮子去实现他们。Apache Zookeeper是通过Java语言实现的。

2. 下载和安装

在下载和安装Zookeeper之前,请确保您的系统已经安装Java运行时环境(Java 6及以上)
Zookeeper下载方式有很多,我们这里给出官方的下载路径http://www.apache.org/dyn/closer.cgi/zookeeper/
选择适合的版本下载即可,本文使用zookeeper-3.4.10版本给大家讲解。

2.1 CentOS7 下载Zookeeper

如果您的机器不是Linux系统,首选需要安装一个虚拟机,推荐大家使用VirtualBox
虚拟机安装好之后,我们进入虚拟机,并创建一个data目录,命令如下

 mkdir /data

进入data目录,下载Zookeeper并解压,这里我们使用wget命令下载
 wget http://apache.fayea.com/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

下载完成之后,使用tar命令解压下载下来的包
tar -C /data -zxf zookeeper-3.4.10.tar.gz

2.2. 配置Zookeeper

解压完成之后,我们的下一步就是配置Zookeeper,conf目录就是Zookeeper的配置信息,默认情况下,Zookeeper的运行需要一个叫做zoo.cfg的配置文件,我们创建一个zoo.cfg的文件,并写入Zookeeper相关配置信息。

 vi zoo.cfg  

进入编辑模式并写入如下内容:
 tickTime=2000 
dataDir=/var/lib/zookeeper
clientPort=2181

2.3 运行Zookeeper

进入Zookeeper目录的bin目录下执行如下命令运行Zookeeper

 ./zkServer.sh start 

当出现如下提示时,说明Zookeeper启动成功
ZooKeeper JMX enabled by default 
Using config: /data/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

执行如下命令
 ./zkServer.sh status 

我们可以得到如下结果
Using config: /data/zookeeper-3.4.10/bin/../conf/zoo.cfg 
Mode: standalone

这说明我们的Zookeeper已经启动成功并以standalone的模式在运行。

2.4 配置文件参数解释

tickTime : 该参数是以毫秒为单位,主要用于Client和Zookeeper Server之间Session注册和心跳检测,Session超时的最小时间是该参数的两倍。
dataDir : Zookeeper本地数据存储路径,它包括数据快照和数据更新时的事务日志,默认情况下,解压的Zookeeper是没有这个目录的,如果服务器中没有该目录,需要使用者自行创建该目录并且赋予读写权限。
clientPort : Client链接监听端口,客户端使用该端口与Zookeeper服务建立连接,该参数可以设置成任意的数值,不同的Zookeeper服务可以配置不同的端口进行监听,默认情况下,该端口是2181。

本文到此结束,相对来说Zookeeper的standalone模式的配置是相对简单的,接下来我们将会告诉各位同仁如何配置Zookeeper的单机多节点和集群,敬请期待…

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐