1. 概述

​ Zookeeper是一个开源的分布式的项目,用于管理服务提供者的注册信息。

​ Zookeeper = 文件系统 + 通知机制

2. 特点

  • Zookeeper : 一个领导者(Leader),多个跟随者(Follower)组成的集群。
  • 集群中只有半数以上节点存活,Zookeeper集群才能正常服务。
  • 全局数据一致 : 每个Server保存一份相同的数据副本,Client无论连接到哪一个Server,数据都是一致的。
  • 更新请求和顺序执行 : 来自同一个Client的更新请求按其发送顺序依次执行。
  • 数据更新原子性 : 一次数据更新要么成功,要么失败。
  • 实时性 : 在一定时间范围内,Client能读到最新数据。

3. Zookeeper的数据结构

​ Zookeeper数据模型,整体上可以看作是一棵树,每个节点称作一个ZNode,每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。

4. 基于Windows的Zookeeper安装

1.下载地址 : https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz

2.将下载下来的.tar.gz解压到不含中文的目录,并进入Zookeeper根目录下的bin目录。

3.在bin目录下的地址栏输入cmd,进入命令行窗口并执行zkServer.cmd

如果报了以上的错误,说明需要在conf目录下做修改 :

将文件夹下的zoo_sample.cfg文件复制一份副本,并更名为zoo.cfg。

编辑zoo.cfg,更改dataDir参数,并在Zookeeper目录下创建data目录 :

4.然后重新进入bin目录启动Zookeeper服务器,并用客户端连接 :

启动Server时出现Zookeeper的图标,说明启动成功。

客户端连接成功

5.基于Linux的Zookeeper安装

*注意: * 安装Zookeeper之前先要安装jdk

1.在/opt目录下新建software,和module目录,

1
2
# mkdir /opt/software
# mkdir /opt/module

2.按住alt + p进入文件传输窗口,将Zookeeper和jdk的.tar.gz拖进/opt/software/

3.将/opt/software中的Zookeeper包解压到/opt/module目录下

1
# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

4.配置环境变量

进入jdk目录,用pwd命令获取其路径,然后编辑/etc/profile

在profile文件底部加入以下内容:

1
2
3
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

记住,写入之后需要先编译以下才能生效

1
source /etc/profile

执行

1
# java -version

出现以上信息代表安装成功

5.解压Zookeeper软件包到/opt/module目录下

1
# tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz -C /opt/module/

6.修改配置

将/opt/module/apache-zookeeper-3.6.1-bin/conf路径下的zoo_sample.cfg更名为zoo.cfg;

1
# mv zoo_sample.cfg zoo.cfg

打开zoo.cfg文件,修改dataDir路径 :

1
# vim zoo.cfg

​ 修改如下内容 :

​ dataDir=/opt/module/apache-zookeeper-3.6.1-bin/zkData

在/opt/module/apache-zookeeper-3.6.1-bin/目录下创建zkData文件夹

1
mkdir zkData

7.启动Linux版的Zookeeper服务端

1
2
# bin/zkServer.sh start
# ps -ef | grep zookeeper

用客户端连接Zookeeper服务端

1
# bin/zkCli.sh

到达此步骤表示已经全部安装完成。