Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式
通俗总结一下就是:普通程序是 “一个人干一件事”,不用管别人;但分布式系统是 “一群人干一件大事”(比如抖音的后台、淘宝的服务器),需要有人协调 “谁在哪、谁当领导、信息怎么同步、资源怎么抢”——Zookeeper 就是干这个 “协调活” 的工具,让分布式系统里的节点们 “有秩序、不混乱、不瘫痪”。
单机模式
非常重要: 安装前一定要安装jdk,并且版本要在java6以上的版本
https://zookeeper.apache.org/releases.html(官网)
http://archive.apache.org/dist/zookeeper/ (下载地址)
1先下载二进制包
2上传并解压
3给包一个可执行的权限
4解压到指定目录
5配置环境变量(/etc/profile)如下: (记得一定要把java的环境变量配置好,根据自己的版本)
# JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=${JAVA_HOME}/bin:${PATH}##ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
export PATH=$PATH:$ZOOKEEPER_HOME/conf
6按需求规范目录:例如将zoo_sample.cfg修改为zoo.cfg👌方便观察和管理
7检查zoo.cfg里的dataDir路径写的是否正确
7.1检查服务对外提供客户端连接的端口号也就是clientport是否正确,或者想修改成你想要的数字
8创建一个zkdata目录用来储存id号(当然肯定不只是来储存id)
9启动Zookeeper 在zookeeper-3.4.10/bin/下面的脚本
9.1启动命令:./zkServer.sh start
10 jps查看或者用脚本查看 如下:
zookeeper-3.4.10/bin/zkServer.sh status
11 关闭服务zookeeper-3.4.10/bin/zkServer.sh stop
这就是单机模式的部署和启动流程
还有一些其他的命令
启动客户端:bin/zkCli.sh
退出客户端:quit
单机模式结束