Linux下ZooKeeper安装与启动
前言
Dubbo目前支持的注册中心有很多,其中包括有Multicast、Zookeeper、Redis、Simple等。不过Dubbo官方推荐注册中心的Zookeeper。本篇文章主要介绍,Linux下ZooKeeper的安装及操作。
环境
ZooKeeper 3.6.0
Ubuntu 16.04
下载
安装
- 将下载好的安装包拷贝到Linux服务器上,或者直接在Linux服务器通过
wget
命令直接下载
- 下载完成后通过
tar -xvf fileName
命令,将文件解压。 - 将解压后的文件夹移动至
/usr/local/
并通过mv OldName NewName
重名为:zookeeper(个人习惯,以方便服务器上软件管理,此步骤可省略),效果如下:
- 进入到ZooKeeper目录下,创建
data
文件夹
- 进入到ZooKeeper的conf文件夹下,将
zoo_sample.cfg
复制并重命名为zoo.cfg
- 打开
zoo.cfg
文件,将dataDir
指向改为上上一步创建的data
文件夹的路径,修改后保存并退出。其他属性在非集群情况下通常无需修改,如下:
tickTime:ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。
initLimit:Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。L允许F在 initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。默认是:10 * tickTime
syncLimit:在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。默认是:5 * ticktime
dataDir:存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。ZK会在特定条件下会触发一次快照(snapshot),将当前服务节点的状态以快照文件的形式dump到磁盘上去,即snapshot文件。
clientPort:客户端连接server的端口,即对外服务端口,一般设置为2181吧。
集群模式下需在该配置文件中添加
server.A=B:C:D
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Leader选举的端口;
D:Zookeeper服务器之间的通信端口。
启动
ZooKeeper的启动文件在
ZooKeeper/bin
目录下
zkServer
其中
zkServer.cmd
是Windows环境下ZK服务的启动文件,zkServer.sh
是Linux环境下的启动文件,执行./zkServer.sh start
出现如下日志,即表示启动成功。
zkServer.sh start
: 启动
zkServer.sh status
: 查看状态
zkServer.sh stop
: 停止
zkCli
zkCli.sh
是Linux环境下ZooKeeper客户端,想要用zkClient链接zookeeper,首先执行如下命令,连接到zookeeper server./zkCli.sh -server localhost:2181
连接成功之后,通过键入
help
命令,查看客户端所支持的所有命令。(只要输入任何zkCli不能识别的内容,都会出现所有命令)
客户端的一些使用,及集群下节点的操作,请自行百度!执行
quit
命令退出!
结束语
本人已开通公众号,欢迎大家前来灌水