随笔分类 - zookeeper
zookeeper
摘要:Zookeeper快照文件和事物操作文件以文件的形式存储在硬盘上,以快照文件为主,日志文件为辅。因为当对内存数据进行变更的时候,会保证将事务操作记入log日志,而snapshot只是内存某一个时刻影像,为了性能takeSnapshot生成snapshot并不是实时的,而是由后台线程根据一定规则处理的
阅读全文
摘要:ZKDatabase在内存中维护了zookeeper的sessions, datatree和commit logs集合。 当zookeeper server启动的时候会将txnlogs和snapshots从磁盘读取到内存中。核心逻辑主要在方法ZkDatabase.loadDataBase()中实现,
阅读全文
摘要:Zookeeper事物日志文件用于记录事物操作,如添加,删除节点等等,都会在事务日志中记录一条记录。下面我们就详细分析一下txnLog事务日志文件。 txnLog事务日志文件文件由三部分组成: 日志文件头FileHeader TxnList代表记录记录集合 ZeroPad文件尾部 FileHeade
阅读全文
摘要:Zookeeper内存结构 Zookeeper数据在内存中的结构类似于linux的目录结构,DataTree代表这个目录结构, DataNode代表一个节点。DataTree默认初始化三个目录:"","/zookeeper","/zookeeper/quota" DataNode表示一个节点,存储了
阅读全文
摘要:理解Zookeeper的一种方法是将他视为一个提供高可用性的文件系统。它没有文件和目录,但是有一个统一概念的节点,叫做znode,作为数据以及其他znode的容器。znode来自于一个层次级的命名空间。传统的建立成员列表的方法是以小组的名称创建一个父znode,同时子znode使用的是组成员的名称。
阅读全文
摘要:今天同事突然向看一下zookeeper中都创建了哪些节点,而我本人对zookeeper的客服端命令了解的很少,有些操作竟然不知道怎么用,于是乎就索性整理一下zookeeper客服端命令的使用,并再此记录一下。 想要用zkClient链接zookeeper,首先执行如下命令,连接到zookeeper
阅读全文