zookeeper
一 铭
公众号:大数据架构师修行之路
展开
-
zookeeper启动过程函数调用
zookeeper 启动过程分析zookeeper启动函数调用大概流程以下就是zookeeper的概要启动过程。分为两种模式,一种是集群模式,一种是standalone模式。 zk的启动类:QuorumPeerMain,从该类的main函数开始,类和函数调用关系如下:QuorumPeerMain.main() -> initializeAndRun() -> QuorumP原创 2017-12-18 19:49:30 · 588 阅读 · 0 评论 -
单机安装zookeeper集群
单机安装zookeeper集群zookeeper介绍Zookeeper集群主要角色有Leader,Learner(Follower,Observer(当服务器增加到一定程度,由于投票的压力增大从而使得吞吐量降低,所以增加了Observer。)以及client: * Leader:领导者,负责投票的发起和决议,以及更新系统状态 ,注意写操作必须要经过leader同意。 * Follower:接受客原创 2017-12-18 19:44:34 · 1124 阅读 · 0 评论 -
zookeeper3.x源码走读—服务初始化
概述 本来希望能够通过简单的图表的方式把作者的设计思想表达出来,但这种写法比较消耗时间,但由于时间的原因,这段时间会推出源码走读的文章。 所谓源码走读,就是通过阅读关键流程或核心代码来理解作者的设计思想和代码设计。最好的文档就是源代码。 本文讲述zookeeper集群单个节点的启动流程。 总体启动流程 zookeeper的总体启动流程,我前面专门有一篇文章讲述,这里再回顾一下: ## 总体流程 Q...原创 2019-03-12 07:04:25 · 215 阅读 · 0 评论 -
zookeeper3.x源码走读—NIOServerCnxnFactory服务的启动
概述 本文讲述zookeeper的NIOServerCnxnFactory类的对象启动过程的实现代码。 该类实现了zookeeper的主要的后台服务,用来接收并处理客户端的各种命令,处理各种任务。 NIOServerCnxnFactory.start()启动服务 该函数用来启动后台服务,主要完成以下事项: 创建一个WorkerService,该线程执行器的创建和管理。 启动所有的Selector...原创 2019-03-12 07:07:10 · 621 阅读 · 0 评论 -
zookeeper3.x源码走读-命令处理链的实现分析
概述 本文讲述zookeeper的命令处理总体流程。并讲解部分命令的实现原理。 客户端命令处理的实现的总体流程 zookeeper的命令处理是在SelectorThread中完成的,SelectorThread的实现方式可以在这篇文章:中查看。我们进入zookeeper的命令处理过程。 在NIOServerCnxn类中调用readPayload()来读取来自客户端的数据。该函数会调sock.re...原创 2019-03-27 16:39:52 · 254 阅读 · 0 评论