一、zookeeper的简介
1. 发展历史
官网地址:https://zookeeper.apache.org/
Zookeeper是一个开源的分布式协调服务,由雅虎公司开发并于2010年加入Apache软件基金会。Zookeeper的名称取自于动物园的管理员“zookeeper”,因为它的设计目标是用来管理和协调分布式系统中的进程。
Zookeeper的由来可以追溯到雅虎公司在2007年提出的一个名为"Chubby"的分布式锁服务。Chubby是Google公司开发的一个分布式锁服务,被广泛用于协调和管理Google内部的分布式系统。雅虎公司希望能够开发自己的分布式锁服务,因此在Chubby的基础上开发了一个类似的系统,取名为Zookeeper。
Zookeeper最初的设计目标是用来解决分布式系统中的一致性问题。它提供了一种简单而可靠的分布式协调服务,可以用于实现分布式锁、选举、命名服务等功能。随着时间的推移,Zookeeper的功能不断增强,成为一个功能强大的分布式协调服务。它的设计理念和实现方式受到了广泛的赞誉,成为了分布式系统领域的重要工具之一。
2. 应用场景
zookeeper是一个分布式数据一致性解决方案,致力于为分布式应用提供一个高性能,高可用,且具有严格顺序访问控制能力的分布式协调存储服务。
zookeeper适用于存储和协同相关的关键数据,不适合用于存储大数据量存储。
二、单机部署
1. 安装JDK并配置环境变量
# 创建软件目录
mkdir -pv /dadong/softwares/
# 解压文件到softwares中
tar xf jdk-8u201-linux-x64.tar.gz -C /oldboy/softwares/
# 建立链接
ln -sv /oldboy/softwares/jdk1.8.0_201/ /oldboy/softwares/jdk
# 配置环境变量
vim /etc/profile.d/jdk.sh
JAVA_HOME=/dadong/softwares/jdk
PATH=$PATH:$JAVA_HOME/bin
# 启用
source /etc/profile.d/jdk.sh
JDK官方的下载地址: "https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html"
2. 安装zookeeper并配置环境变量
# 配置环境变量
vim /etc/profile.d/zookeeper.sh
ZK_HOME=/dadong/softwares/zookeeper
PATH=$PATH:$ZK_HOME/bin
# 启用
source /etc/profile.d/zookeeper.sh
3. 创建zookeeper用户
# 创建用户数据目录
mkdir -pv /dadong/data
# 指定用户家目录
useradd -d /dadong/data/zookeeper zookeeper
4. 配置zookeeper服务
# 设置配置文件
cd /dadong/softwares/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
# 配置
vim zoo.cfg
# 将dataDir路径修改成数据目录 dataDir=/tmp/zookeeper
dataDir=/dadong/data/zookeeper
# 技巧:使用sed进行修改
sed -ri 's#(dataDir=)/tmp/zookeeper#\1/dadong/data/zookeeper#'
三、zookeeper管理
1. zookeeper常用指令
# 启动服务
zkServer.sh start
# 状态查看
# 查看zookeeper状态,查看zookeeper服务状态,启动zookeeper是需要耗时的,因为它会现启动JVM
# 启动一段时间后,再次查看发现,其模式为:"standalone"即为成功
zkServer.sh status
# 停止服务
zkServer.sh stop
2. 使用zkCli.sh工具连接zookeeper
zkCli.sh