zookeeper下载,安装以及配置环境变量
zookeeper配置文件介绍,运行zk
下载[ zookeeper-3.4.11.tar.gz ]:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.11/
image.png
cd /home/
ll
解压:
tar -zxvf zookeeper-3.4.11.tar.gz
重命名:
mv zookeeper-3.4.11 zookeeper
转移文件
mv zookeeper /usr/local/
环境变量设置:
vim /etc/profile
修改完后esc键,shift:wq保存退出
zookeeper配置文件zoo_sample.cfg
image.png
单机版zk,运行,重启,停止,查看状态
image.png
zookeeper基本数据模型
zk是一个树形结构区分目录
第一种
第二种- zk的数据模型也可以理解为linux/unix的文件目录:/usr/local/...
- 每一个节点都称之为znode,它可以有子节点,也可以有数据
- 每个节点分为临时节点和永久节点,临时节点在客户端断开后消失。【 永久节点是一个持久化的过程, 只有在人为的情况下才可以删除,如果客户端session丢失或者session超时,他的数据还是会存在。临时节点也可以人为的删除,在session失效或超时数据会丢失。】
- 每个zk节点都有各自的版本号,可以通过命令行来显示节点信息
- 每当节点数据发生变化,那么该节点的版本号会累加(乐观锁)
- 删除、修改节点,版本号不匹配则会报错
- 每个节点存储的数据不宜过大
- 节点可以设置权限acl,可以通过权限来限制用户的访问
zk数据模型的基本操作
- 客户端连接
- 查看znode结构
关闭客户端连接
bin目录下命令
image.png
help
zk的作用体现
- master节点选举,主节点挂了以后,从节点就会接手工作,并且保证这个节点是唯一的,这也就是所谓的首脑模式,从而保证我们的集群是高可用的。
- 统一配置文件管理,即只需要部署一台服务器,就可以把相同配置的文件同步到其他所有的服务器,此操作在云计算中用的特别多(假设修改了redis统一配置)
发布与订阅,类似于消息队列MQ(amp,rmp,kafka...),dubbo发布者把数据存储在znode上,订阅者会读取这个数据
image.png- 提供分布式锁,分布式环境中不同进程之间争夺资源,类似于多线程中的锁。会发生阻塞,直到释放。 image.png
- 集群管理,集群中保证数据的强一致性
网友评论