Linux下ZooKeeper安装与启动

Linux下ZooKeeper安装与启动

前言

Dubbo目前支持的注册中心有很多,其中包括有Multicast、Zookeeper、Redis、Simple等。不过Dubbo官方推荐注册中心的Zookeeper。本篇文章主要介绍,Linux下ZooKeeper的安装及操作。

环境

  1. ZooKeeper 3.6.0

  2. Ubuntu 16.04

下载

ZooKeeper 官网

下载地址

安装

  1. 将下载好的安装包拷贝到Linux服务器上,或者直接在Linux服务器通过wget命令直接下载

wget

  1. 下载完成后通过tar -xvf fileName 命令,将文件解压。
  2. 将解压后的文件夹移动至/usr/local/并通过mv OldName NewName重名为:zookeeper(个人习惯,以方便服务器上软件管理,此步骤可省略),效果如下:

重命名

  1. 进入到ZooKeeper目录下,创建data文件夹

创建data文件夹

  1. 进入到ZooKeeper的conf文件夹下,将zoo_sample.cfg复制并重命名为zoo.cfg

复制并重命名

  1. 打开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 : 停止

启动ZooKeeper

zkCli

zkCli.sh是Linux环境下ZooKeeper客户端,想要用zkClient链接zookeeper,首先执行如下命令,连接到zookeeper server

./zkCli.sh -server localhost:2181

zkCli

连接成功之后,通过键入help命令,查看客户端所支持的所有命令。(只要输入任何zkCli不能识别的内容,都会出现所有命令)

help

客户端的一些使用,及集群下节点的操作,请自行百度!执行quit命令退出!

结束语

本人已开通公众号,欢迎大家前来灌水

公众号

posted @ 2020-03-28 11:11  L_Wayne  阅读(4233)  评论(0编辑  收藏  举报