![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
zookeeper
文章平均质量分 88
Stray_Cat_Founder
这个作者很懒,什么都没留下…
展开
-
zookeeper源码分析-连接过程
首先我们看一看使用java连接zookeeper是怎样的一种情况 zk = new ZooKeeper("10.1.1.50:2181", 500,new Watcher() { // 监控所有被触发的事件 public void process(WatchedEvent event) {原创 2017-10-06 17:39:15 · 567 阅读 · 0 评论 -
zookeeper代码阅读-服务循环lead过程
1.我们先了解lead的主要任务是什么 leader作为zookeeper集群的主节点,负责响应所有对zookeeper状态变更的请求,它将每个状态请求进行编号和排序,以保证整个集群内部消息处理的FIFO。 除了这之外,还有心跳接收与处理。2.首先看看lead处理环节 主控代码如下case LEADING: LOG.info("LEADING");原创 2017-10-17 10:11:11 · 1960 阅读 · 0 评论 -
zookeeper数据工具类介绍及编译安装过程
1.ACL 传统的文件系统中,ACL分为两个维度,一个是所属组,一个是权限,子目录/文件默认继承父目录的ACL。在zookeeper中,它利用一个三元组来定义客户端的访问权限:(scheme:expression, perms) 。Perms:标识了操作权限, scheme:定义了expression的含义。如:(host:host1.corp.com,READ),标识了一个名为host1.cor原创 2017-11-10 20:08:45 · 573 阅读 · 0 评论 -
zookeeper代码阅读-数据存储部分
承接上一篇博文,本应该介绍follower、observer和looking状态的处理过程。当阅读完代码后,感觉follower和observer整个过程比较简单,而且looking只是临时状态,所以就不用粘贴代码去介绍了,感兴趣的可以自己去阅读。这一部分讲解zookeeper的数据存储部分。 首先我们先说说我对zookeeper的感觉。我认为zookeeper本身就是一个很出色的分布式存储平台原创 2017-10-29 11:49:26 · 683 阅读 · 0 评论 -
zookeeper学习点
该博文以四个问题为切入点分析zookeeper的相关内容,作为自己学习zookeeper的初步认知。zookeeper是什么? zookeeper是管理分布式集群的重要开源工具!它的特点是管理、开源。所以它是集群的管理者,相当于有一个仓储管理员管理着各个仓库。zookeeper是管理者,有时候一个管理者也会忙不过来或者调休的时候,则需要多个管理者,因此zookeeper可以以集群方式工作,所以z原创 2017-07-20 22:24:43 · 217 阅读 · 0 评论 -
zookeeper源码阅读准备工作
想当然的就在windows下去编译zookeeper源文件了,结果也是可预知的,报错!前后也在想是不是jdk版本问题,是否需要协调jdk版本,然而结果也是一样。所以说,开源社区的代码尽量不要想着图方便在windows下编译开发咯!下载源文件 首先转向https://github.com/apache/zookeeper, 先看看简单的readme.txt文件。 然后使用git clone ht原创 2017-08-15 20:43:15 · 266 阅读 · 0 评论 -
zookeeper技术点介绍
在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成”脏数据”的后果。这时,有人可能会说这个简单,写一个调 度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解。如果这些进程全部是跑在一台机上的转载 2017-09-02 11:42:16 · 357 阅读 · 0 评论 -
zookeeper代码阅读-主要代码逻辑
zookeeper集群有两种工作状态,一种是恢复状态(选leader状态),一种是广播状态(正常工作状态)。好比公司的管理一样,高层开会后决定职责任务,然后各部门负责人专职专管。以下代码的循环体就是集群工作的循环状态。可以看到每个机器都会保存自己现在的状态,enum类型参数,总共有四种状态LOOKING, FOLLOWING, LEADING, OBSERVING。这四种状态也就对应四种角色,之前也原创 2017-09-09 14:58:42 · 356 阅读 · 0 评论 -
zookeeper代码阅读-连接控制
在QuorumPeerMain.java代码中的public void runFromConfig(QuorumPeerConfig config)函数中有以下代码ServerCnxnFactory cnxnFactory = null; ServerCnxnFactory secureCnxnFactory = null; if (config.getClie原创 2017-10-05 12:04:12 · 756 阅读 · 0 评论 -
ZookeeperServer详解
首先zookeeper server的位置在代码中org/apache/zookeeper/server这个package下面。之前有说过,zookeeper的启动类是ZookeeperServerMain.java这个类,在这个类中使用了final ZooKeeperServer zkServer = new ZooKeeperServer(txnLog, config.tickTime, con原创 2017-11-21 20:14:55 · 3970 阅读 · 0 评论