Linux下ZooKeeper安装与启动
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
命令退出!
结束语
本人已开通公众号,欢迎大家前来灌水
下一篇: 设计模式—建造者模式(Builder)