Zookeeper介绍与部署(Linux)
一、Zookeeper 是什么
1、Zookeeper 是一个 分布式协调服务。
它本身是一个 分布式中间件,主要用来解决分布式系统中节点之间的协调、数据一致性和服务发现问题。
2、常见用法包括:
注册中心(Dubbo、Kafka、Hadoop 等都会用)
分布式锁
配置管理
Leader 选举
3、中间件
它是一个独立的软件,提供协调和注册的能力。
不直接承载业务逻辑,但为分布式应用提供关键能力(注册、发现、同步、协调)。
可以理解为分布式系统的 “大脑 + 电话簿”。
4、在 Dubbo 里的作用
在 Dubbo 架构中,Zookeeper 主要用作 注册中心:
- 服务注册
- Provider 启动后,把自己的信息(服务名、地址、端口、版本号)注册到 Zookeeper。
- 服务发现
- Consumer 启动时,去 Zookeeper 查找 Provider 的信息。
- 如果有多个 Provider,Zookeeper 会把所有可用地址都返回,Dubbo 框架做负载均衡。
- 动态感知
- Provider 下线或挂掉 → Zookeeper 立刻通知 Consumer,让 Consumer 自动切换到别的 Provider。
- 保证服务的 高可用性。
- 数据一致性
- Zookeeper 内部用 ZAB 协议 保证数据一致性,所有服务的注册信息在整个集群里是一致的。
二、zookeeper的部署
官网下载地址:Apache ZooKeeper
下载安装包到本地:
利用终端工具将其上传到虚拟机
解压到当前文件夹:(作者将求其放到了opt文件夹下)
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
进入到
cd apache-zookeeper-3.6.3-bin/conf
将zoo_sample.cfg 改名为zoo.cfg
mv zoo_sample.cfg zoo.cfg
添加配置:
clientPortAddress=0.0.0.0
添加环境
vi /etc/profile
#这里写刚刚下载的路径
export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.6.3-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin
保存并退出,刷新环境变量
source /etc/profile
启动zookeeper
zkServer.sh start
查看状态,如图启动成功