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 | # mkdir /opt/software |
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 | ##JAVA_HOME |
记住,写入之后需要先编译以下才能生效
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 | # bin/zkServer.sh start |
用客户端连接Zookeeper服务端
1 | # bin/zkCli.sh |
到达此步骤表示已经全部安装完成。