1.1 Zookeeper
1.1.1 Zookeeper介绍
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的性能包含:配置保护、域名服务、分布式同步、组服务等。
ZooKeeper 的指标就是封装好简单易出错的要害服务,将简略易用的接口和性能高效、性能稳固的零碎提供给用户。
ZooKeeper 蕴含一个简略的原语集, 提供 Java 和 C 的接口。
ZooKeeper 代码版本中,提供了分布式独享锁、选举、队列的接口,代码在 zookeeper-3.4.3srcrecipes。其中散布锁和队列有 Java 和 C 两个版本,选举只有 Java 版本。
总结:Zookeeper 负责服务的协调调度. 当客户端发动申请时, 返回正确的服务器地址.
1.1.2 Zookeeper下载
网址: [http://zookeeper.apache.org/r…]
如图 - 2 所示
图 -2
下载门路, 点击 download.
如图 - 3 所示
图 -3
下载 Zookeeper 地址.
http://mirrors.hust.edu.cn/apache/zookeeper/
如图 - 4 所示
图 -4
1.2 Zookeeper 装置
1.2.1 装置 JDK
将 JDK1.8 文件上传到 Linux 操作系统中 /src/usr/local/java/ 文件下.
如图 - 5 所示
图 -5
1. 解压文件
tar -xvf jdk-8u51-linux-x64.tar.gz
2. 配置环境变量
编辑环境变量配置文件
vim /etc/profile
如图 - 6 所示
图 -6
使 JDK 失效, 之后查看 jdk 装置是否胜利
source /etc/profile
如图 - 7 所示
图 -7
1.2.2 上传安装文件
阐明: 上传 zookeeper 安装文件. 之后解压.
如图 - 8 所示
图 -8
解压目录:
tar -xvf zookeeper-3.4.8.tar.gz
1.2.3 批改配置文件
在 zk 根目录下创立文件夹 data/log
mkdir data log
如图 - 9 所示
图 -9
跳入 conf 目录中批改配置文件
复制配置文件并且批改名称
cp zoo_sample.cfg zoo.cfg
如图 -10 所示
图 -10
1.2.4 启动 zk
跳转到 bin 目录中 zk 启动敞开命令如下.
sh zkServer.sh start 或者 ./zkServer.sh start
sh zkServer.sh stop
sh zkServer.sh status
如图 -11 所示
图 -11
1.3 Zookeeper集群装置
1.3.1 筹备文件夹
在 zookeeper 根目录中创立新的文件夹 zkCluster.
如图 -12 所示
图 -12
如图 -13 所示
创立 zk1/zk2/zk3 文件夹.
图 -13
在每个文件夹里创立 data/log 文件夹.
mkdir {zk1,zk2,zk3}/{data,log}
如图 -14 所示
图 -14
1.3.2 增加 m yid文件
别离在 zk1/zk2/zk3 中的 data 文件夹中创立新的文件 myid. 其中的内容顺次为 1 /2/3, 与 zk 节点号对应.
如图 -15 所示
图 -15
编辑 myid 文件, 定义编号.
如图 -16 所示
图 -16
1.3.3 编辑配置文件
将 zoo_sample.cfg 复制为 zoo1.cfg 之后批改配置文件.
如图 -17 所示
图 -17
1.3.4 批改 zoo1.cfg
如图 -18 所示
图 -18
配置实现后将 zoo1.cfg 复制 2 份. 之后须要批改对应的文件夹目录. 和不同的端口即可.
1.3.5 ZK 集群测试
通过上面的命令启动 zk 集群.
sh zkServer.sh start zoo1.cfg
sh zkServer.sh stop zoo1.cfg
sh zkServer.sh status zoo1.cfg
查看主从关系, 从机状况阐明.
如图 -19 所示
图 -19
查看主从关系, 主机状况阐明.
如图 -20 所示
图 -20
1.3.6 对于 zookeeper集群阐明
Zookeeper 集群中 leader 负责监控集群状态,follower 次要负责客户端链接获取服务列表信息. 同时参加投票.