ZooKeeper节点本地存储架构
zxid
每一个对ZooKeeper data tree的更新都会作为一个事务执行。每一个事务都有一个zxid。zxid是一个64位的整数(Java long类型。zxid有两个组成部分,高4个字节保存的是epoch,低4个字节保存的
是 counter。
可以通过Zookeeper提供的zkTxnLogToolkit.sh脚本来查看事务日志文件的内容。
➜ zkTxnLogToolkit.sh log.1
/usr/bin/java
ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
21-4-17 下午12时16分34秒 session 0x1002e44e66f0002 cxid 0x0 zxid 0xa createSession 30000
21-4-17 下午12时17分09秒 session 0x1002e44e66f0002 cxid 0x1 zxid 0xb error -110
21-4-17 下午12时17分45秒 session 0x1002e44e66f0001 cxid 0x0 zxid 0xc closeSession v{'/lock}
21-4-17 下午12时17分56秒 session 0x1002e44e66f0002 cxid 0x3 zxid 0xd create /lock,,[31,s{'world,'anyone}
],true,4
21-4-17 下午12时19分21秒 session 0x1002e44e66f0002 cxid 0x0 zxid 0xe closeSession v{'/lock}
21-4-17 下午12时22分49秒 session 0x1002e44e66f0003 cxid 0x0 zxid 0xf createSession 30000
21-4-17 下午12时23分45秒 session 0x1002e44e66f0003 cxid 0x1a zxid 0x10 multi delete: /app1/p_3;delete: /app1/p_1;delete: /app1/p_2;delete:/app1
21-4-17 下午12时23分47秒 session 0x1002e44e66f0003 cxid 0x1c zxid 0x11 multi delete:/app2
21-4-17 下午12时24分18秒 session 0x1002e44e66f0003 cxid 0x22 zxid 0x12 create /workers,,[31,s{'world,'anyone}
],false,5
21-4-17 下午12时24分24秒 session 0x1002e44e66f0003 cxid 0x23 zxid 0x13 closeSession v{}
21-4-17 下午12时24分38秒 session 0x1002e44e66f0004 cxid 0x0 zxid 0x14 createSession 30000
21-4-17 下午12时25分09秒 session 0x1002e44e66f0004 cxid 0x1 zxid 0x15 create /master,m1:2223,[31,s{'world,'anyone}
复制代码
从日志中可以看到我们以前的各种操作记录。
快照文件查看:
通过Zookeeper提供的zkSnapShotToolkit.sh脚本来查看快照文件的内容。
zkSnapShotToolkit.sh snapshot.0
ZNode Details (count=5):
----
/
cZxid = 0x00000000000000
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x00000000000000
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x00000000000000
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x00000000000000
dataLength = 0
----
/zookeeper
cZxid = 0x00000000000000
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x00000000000000
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x00000000000000
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x00000000000000
dataLength = 0
----
......
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END