zookeeper:3
2024-09-05 03:22:04
- 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服务器上,直到主动删除。
- 持久化有序节点 :每个节点都会为它的一级子节点维护一个顺序。
- 临时节点 : 临时节点的生命周期和客户端的会话保持一致。当客户端会话失效,该节点自动清理。
- 临时有序节点 : 在临时节点上多勒一个顺序性特性。
- 会话:未连接状态--------> 连接中状态 ------------> 已连接状态-------------> 断开状态
- zookeeper命令操作
sh zkServer.sh start //bin目录下启动服务 sh zkCli.sh -server localhost:2181 //连接到客户端 ls / //查看目录 help //查看命令
create [-s] [-e] path data acl
-s 表示节点是否有序 -e 表示是否为临时节点 默认情况下,是持久化节点
get path [watch]
获得指定 path的信息
set path data [version]
修改节点 path对应的data 乐观锁的概念:数据库里面有一个 version 字段去控制数据行的版本号
delete path [version]
删除节点
- watcher:zookeeper提供了分布式数据发布/订阅,zookeeper允许客户端向服务器注册一个watcher监听。当服务器端的节点触发指定事件的时候会触发watcher,服务端会向客户端发送一个事件通知。watcher的通知是一次性,一旦触发一次通知后,该watcher就失效。
- ACL:zookeeper提供控制节点访问权限的功能,用于有效的保证zookeeper中数据的安全性。避免误操作而导致系统出现重大事故。CREATE /READ/WRITE/DELETE/ADMIN。
- 数据节点stat的信息
cversion = 0 子节点的版本号 aclVersion = 0 表示acl的版本号,修改节点权限 dataVersion = 1 表示的是当前节点数据的版本号
czxid 节点被创建时的事务ID
mzxid 节点最后一次被更新的事务ID
pzxid 当前节点下的子节点最后一次被修改时的事务ID
ctime = Sat Aug 05 20:48:26 CST 2017
mtime = Sat Aug 05 20:48:50 CST 2017
ephemeralOwner = 0x0 创建临时节点的时候,会有一个sessionId 。 该值存储的就是这个sessionid
dataLength = 3 数据值长度
numChildren = 0 子节点数
- 数据存储:内存数据和磁盘数据
- zookeeper会定时把数据存储在磁盘上。
- DataDir = 存储的是数据的快照:快照: 存储某一个时刻全量的内存数据内容
- DataLogDir 存储事务日志
上图命名格式:log.zxid
- 查看事务日志的命令:java -cp :/opt/zookeeper-3.4.10/lib/slf4j-api-1.6.1.jar:/opt/zookeeper-3.4.10/zookeeper-3.4.10.jar org.apache.zookeeper.server.LogFormatter log.3
- zookeeper 有三种日志
- zookeeper.out :运行日志。
- 快照 :存储某一时刻的全量数据。
- 事务日志 :事务操作的日志记录。
最新文章
- Spring AOP AspectJ Pointcut Expressions With Examples--转
- SQL按指定文字顺序进行排序(中文或数字等)
- 转:ffdshow 源代码分析
- 2434: [Noi2011]阿狸的打字机 - BZOJ
- 【好玩的应用】QQ连连看辅助工具
- [Everyday Mathematics]20150117
- 高级UIKit-05(CoreData)
- MFC类中获得其它类指针
- centos 64位编译安装 glibc-2.14
- Jetty安装学习并展示
- 获取时间SQL函数语句
- Shell第三篇:基本语法
- C#基础知识 yield与foreach
- dev gridcontrol 无法编辑 解决方案
- js超链接锚点定位
- 在树莓派上的wireshark报错
- A1081. Rational Sum
- Linux,IDS入侵防御系统
- sql 一个表的字段更新至另一个字段的方法
- MT【111】画图估计
热门文章
- springboot Thymeleaf中格式化jsr310新日期时间类(LocalDateTime,LocalDate)--thymeleaf格式化LocalDateTime,LocalDate等JDK8新时间类
- (十八)Centos之firewall 防火墙命令
- 第三方框架MBProgressHUD-----实现各种提示框
- 【Leetcode_easy】724. Find Pivot Index
- redis 内存数据库
- VMware15安装Centos7超详细过程
- 【数据库开发】在Windows上以服务方式运行 MSOPenTech/Redis
- TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option
- easyui中combobox下拉内容进行分组
- activate-power-mode安装与设置