zookeeper
bug_yym
bug虐我千百遍,我待bug如初恋
展开
-
zookeeper 一 : 客户端命名空间
chroot 客户端命名空间zk允许每个客户端为自己设置已给命名空间。如果一个zookeeper客户端设置了Chroot,那么该客户端对服务器的任何操作,都将会被限制在自己的命名空间下。客户端可以通过在connectString中添加后缀的方式来设置Chroot,如下所示: 192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181/apps/X 这原创 2017-08-11 10:32:58 · 6848 阅读 · 1 评论 -
zookeeper 二: snap file和配置
配置项 snapCountsnapCount(系统属性:zookeeper.snapCount) //默认为100000,在新增log(txn log)条数达到snapCount/2 + Random.nextInt(snapCount/2)时,将会对zkDatabase(内存数据库)进行snapshot,将内存中DataTree反序为snapshot文件数据,同时log计数置为0,以此循环。原创 2017-08-13 14:05:14 · 1259 阅读 · 0 评论 -
zookeeper 3: 监听器Watcher的实现
watcher实现数据结构和数据流图客户端客户端接收Watch event的notification消息所有的Watcher最终回调都是在ClientCnxn内部类SendThread中进行接收消息。server发给客户端的Notification事件通知的消息体的xid字段比较特殊,为-1.class SendThread extends Thread { private long原创 2017-08-31 11:08:05 · 1061 阅读 · 0 评论 -
zookeeper 4:zabix协议选举过程
选举的server数据结构 图片较大,请右键打开,查看大图选举的算法流程图和数据流图 图片较大,请右键打开,查看大图其他,待续原创 2017-08-31 14:29:52 · 349 阅读 · 0 评论 -
zookeeper 5: Leader和Follower交互过程
Leader和Follower 服务器server 数据结构Leader processor处理器责任链Leader—Follower 客户端连接并创建sessionLeader—Follower 普通命令处理过程所有代码分析,待续原创 2017-08-31 15:03:03 · 1360 阅读 · 0 评论 -
zookeeper 6 : 服务端存储设计与实现
简述zookeeper的server端,存储有整个zk 节点的数据,会持久化到磁盘,为了实现事务,分成transaction log和sanp file.存储流程图这里分成3个子模块讲述了 sanpFile、txnLog的存储流程,以及整个server重启时数据恢复的过程。代码,待续原创 2017-08-31 15:09:48 · 307 阅读 · 0 评论 -
zookeeper 7:客户端模块
客户端zkCli.sh启动启动zk client, 通过zookeeper根目录下执行 ./bin/zkCli.sh命令:yangyamin 10611 0.0 0.3 8201860 46940 s018 S+ 3:41下午 0:00.78 /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Hom原创 2017-08-31 15:46:17 · 322 阅读 · 0 评论