zookeeper基础
Posted ljing21
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper基础相关的知识,希望对你有一定的参考价值。
zoo.cfg配置文件
tickTime=2000 zookeeper中最小的时间单位长度 (ms)
initLimit=10 follower节点启动后与leader节点完成数据同步的时间
syncLimit=5 leader节点和follower节点进行心跳检测的最大延时时间
dataDir=/tmp/zookeeper 表示zookeeper服务器存储快照文件的目录
dataLogDir 表示配置 zookeeper事务日志的存储路径,默认指定在dataDir目录下
clientPort 表示客户端和服务端建立连接的端口号: 2181
zookeeper中的一些概念
数据模型
zookeeper的数据模型和文件系统类似(树结构,无限级),每一个节点称为:znode. 是zookeeper中的最小数据单元。
每一个znode上都可以保存数据和挂载子节点。 从而构成一个层次化的属性结构
节点特性
持久化节点 : 节点创建后会一直存在zookeeper服务器上,直到主动删除
持久化有序节点 :每个节点都会为它的一级子节点维护一个顺序
临时节点 : 临时节点的生命周期和客户端的会话保持一致。当客户端会话失效,该节点自动清理
临时有序节点 : 在临时节点上多勒一个顺序性特性
会话
未连接状态--------> 连接中状态 ------------> 已连接状态-------------> 断开状态
watcher
zookeeper提供了分布式数据发布/订阅,zookeeper允许客户端向服务器注册一个watcher监听。
当服务器端的节点触发指定事件的时候会触发watcher。
服务端会向客户端发送一个事件通知watcher的通知是一次性,一旦触发一次通知后,该watcher就失效
ACL
zookeeper提供控制节点访问权限的功能,用于有效的保证zookeeper中数据的安全性。避免误操作而导致系统出现重大事故。
CREATE /READ/WRITE/DELETE/ADMIN
zookeeper命令操作
sh zkServer.sh start //bin目录下启动服务
sh zkCli.sh -server localhost:2181 //连接到客户端
ls / //查看目录
help //查看命令
1. create [-s] [-e] path data acl
-s 表示节点是否有序
-e 表示是否为临时节点
默认情况下,是持久化节点
2. get path [watch]
获得指定 path的信息
3.set path data [version]
修改节点 path对应的data
乐观锁的概念
数据库里面有一个 version 字段去控制数据行的版本号
4.delete path [version]
删除节点
以上是关于zookeeper基础的主要内容,如果未能解决你的问题,请参考以下文章
[转帖]Zookeeper学习系列 教会你Zookeeper的一些基础概念