文章目录
第一章 Zookeeper入门
一、Zookeeper概述
- Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。
二、特点
- 集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所 以Zookeeper适合安装奇数台服务器。
- 全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。
- 更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。
- 数据更新原子性,一次数据更新要么成功,要么失败。
- 实时性,在一定时间范围内,Client能读到最新数据。
三、数据结构
- ZooKeeper 数据模型的结构与 Unix 文件系统很类似,整体上可以看作是一棵树,每个
节点称做一个 ZNode。每一个 ZNode 默认能够存储 1MB 的数据,每个 ZNode 都可以通过
其路径唯一标识。
四、下载地址
1、官网首页
2、下载截图
3、下载Linux环境Zookeeper安装的tar包
第二章 Zookeeper本地安装
一、本地模式安装
1、安装前准备
- 安装JDK
- 拷贝zookeeper-3.4.5.tar.gz安装包到 Linux 系统下
- 解压到指定目录
2、配置修改
(1)将/opt/module/zookeeper-3.4.5/conf这个路径下的 zoo_sample.cfg 修改为 zoo.cfg
(2)打开 zoo.cfg 文件,修改 dataDir 路径
- 修改内容为:
(3)在/opt/module/zookeeper-3.4.5/这个目录上创建 zkData 文件夹
3、操作 Zookeeper
(1)启动 Zookeeper
(2)查看进程是否启动
(3)查看状态
(4)启动客户端
(5)退出客户端
(6)停止 Zookeepe
第三章 集群操作
一、集群操作
1、集群规划
- 在master、slave1、slave2三个节点上都部署Zookeeper。
2、解压安装
(1)在master解压Zookeeper安装包到/opt/module/目录下
3、配置服务器编号
(1)在/opt/module/zookeeper-3.4.5/这个目录上创建 zkData 文件夹
(2)在/opt/module/zookeeper-3.5.5/zkData 目录下创建一个 myid 的文件
- 在文件中添加与 server 对应的编号
(3)拷贝配置好的 zookeeper 到其他机器上
- 执行一下命令
- 并分别在 slave1、slave2 上修改 myid 文件中内容为 3、4
4、配置zoo.cfg文件
(1)重命名/opt/module/zookeeper-3.5.5/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
(2)打开zoo.cfg 文件
- 修改数据存储路径配置
- 增加如下配置
server.2=master:2888:3888
server.3=slave1:2888:3888
server.4=slave2:2888:3888
(3)同步 zoo.cfg 配置文件
5、集群操作
(1)分别启动 Zookeeper
-
启动master
-
启动slave1
-
启动slave2
(2)查看状态
-
查看master
-
查看slave1
-
查看slave2
6、ZK集群启动停止脚本
(1)在master的/home/atguigu/bin 目录下创建脚本
- 在脚本中编写以下内容
#!/bin/bash
case $1 in
"start"){
for i in master slave1 slave2
do
echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper-3.4.5/bin/zkServer.sh start"
done
};;
"stop"){
for i in master slave1 slave2
do
echo ---------- zookeeper $i 停止 ------------
ssh $i "/opt/module/zookeeper-3.4.5/bin/zkServer.sh stop"
done
};;
"status"){
for i in master slave1 slave2
do
echo ---------- zookeeper $i 状态 ------------
ssh $i "/opt/module/zookeeper-3.4.5/bin/zkServer.sh status"
done
};;
esac
(2)增加脚本执行权限
(3)Zookeeper 集群启动脚本
- 查看状态