
zookeeper
兰溪小城
谦卑的学习,细心的使用,学以致用,用而以学,且学且记录~~
展开
-
Zookeeper源码分析(二)-ZKDatabase.loadDataBase()
在介绍ZKDatabase.loadDataBase()前先简要介绍一下以下几个类 1.DataNode DataNode主要存储了以下几个属性(详情可看DataNode类) DataNode parent;//父节点信息 byte data[];//本节点数据 Long acl;//ACL转换为long后的数据 public StatPersiste原创 2015-09-29 14:28:49 · 1829 阅读 · 0 评论 -
Zookeeper源码分析(一)-Zookeeper启动过程
参考网上资料,基于对Zookeeper3.4.6源码的阅读分析,记录自己的学习过程!zookeeper的主类是QuorumPeerMain,启动时将zoo.cfg文件地址当参数传入。将zoo.cfg中的各个key-value赋值给QuorumPeerConfig类各个属性。通过DatadirCleanupManager类对dataDir和dataLogDir目录进行清理。任务清理的时间和保留文件原创 2015-09-25 15:41:30 · 1011 阅读 · 0 评论 -
Zookeeper源码分析(四)-zoo.cfg的详解和选举的概念
虽然参照源码和网上的一些文章了解了zookeeper,但是有些概念和详解还需记录一下 1.zoo.cfgdataDir // 存储内存数据库快照地址 dataLogDir // 更新内存数据库事务日志的地址clientPort // 客户端连接的端口clientPortAddress //客户端地址名称tickTime //每次发送心跳包时间(默认为3000)maxClientC原创 2015-10-16 16:07:30 · 588 阅读 · 0 评论 -
Zookeeper问题锦集
1.问题:启动zk服务后会创建一个与dataDir目录一样的文件,但是后面多一个问号,比如zoo.cfg配置dataDir=/home/lvxiaocheng/zookeeper/server1/snapData 但是启动后会生成一个snapData? 的文件原因:原因的是 linux 的^M ,在 Linux 底下打开Windows的档案时,由于 DOS 的断行符号是 CRLF ,就会多了一个原创 2015-10-19 14:00:51 · 554 阅读 · 0 评论 -
Zookeeper源码分析(五)-Zookeeper选举实例流程
之前源码已经讲述完了,现在准备根据例子记录一下整个流程,加入我们在zoo.cfg里配置了四台服务器,分别是server.1=zoo1:2888:3888:participant server.2=zoo2:2888:3888:observer server.3=zoo3:2888:3888:participantserver.3=zoo4:2888:3888:participant首先我们原创 2015-10-19 10:53:09 · 528 阅读 · 0 评论 -
Zookeeper源码分析(三)-Leader的选举
Zookeeper在源码中选举可分为两步 1.startLeaderElection();//创建选举算法 synchronized public void startLeaderElection() { try { //创建一个投票自己的投票对象 currentVote = new Vote(myid, getLastLogg原创 2015-10-09 17:41:34 · 1888 阅读 · 0 评论