HBase源码分析_Master启动过程

HBase源码分析_Master启动过程

ID:41131546

大小:71.00 KB

页数:5页

时间:2019-08-17

HBase源码分析_Master启动过程_第1页
HBase源码分析_Master启动过程_第2页
HBase源码分析_Master启动过程_第3页
HBase源码分析_Master启动过程_第4页
HBase源码分析_Master启动过程_第5页
资源描述:

《HBase源码分析_Master启动过程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、构造函数:1.创建RPC服务:i.创建Listener,主要负责为处理线程创建job,该Listener会创建读取线程(Reader),线程个数为ipc.server.read.threadpool.size,Reader判断Selector中是否有数据,如果有,则把数据读出,然后加入到call队列或者优先队列中。ii.创建HbaseRpcMetric,负责统计数据收集iii.创建Responder,responder负责将服务端的reponser数据异步写给客户端2.启动处理线程组(分为一般的处理线程组和优先的处理线程组,代码上没看到区别),每一个线程组从call

2、队列中读取数据,并调用对应的call方法(具体由客户端设定),处理完以后把每一个call的处理结果加入到responder会处理的responseQueue队列中3.创建ZooKeeperWatcher,观察hbase节点,以及hbase下面的master节点,unassigned节点,rs节点,table节点4.创建MasterMetric对象Thread.run():1.基于ZooKeeperWatcher创建一个ActiveMasterManager,加入到zookeeper的listener队列中,用于监视zookeeper节点状态2.如果是备份节点i.通过

3、zookeeper监控节点状态,去写master的地址到zookeeper节点:ii.如果写失败,则说明当前有别的master,则一直等,直到zookeeper通知master节点状态发生变化;iii.如果写成功,则备份节点成为主节点1.如果不是备份节点,如果自己作为master不active,则循环等待,直到自己active为止,如果自己active,那么进入2.b.i2.在成为主master之前,初始化master的剩余几个类,以及启动一些服务,这是master启动逻辑最复杂的那部分,finishInitialization:1)fileSystemManage

4、r:i.判断HBASE_ROOT有效性,等待HDFS退出safemodeii.如果HBASE_ROOT不存在,则创建他,并写入version,如果存在,则判断version是否和本master启动一致iii.如果HBASE_ROOT下不存在rootregion,那么创建root和meta两个regioniv.创建rootregion是创建regionId为0的region,这个region只负责root表的数据,他的列只有infov.初始化region,1)首先判断region对应的.Regioninfo文件是否存在,如果大小非0,那么就认为已经写过regionin

5、fo,否则写regioninfo数据,接着清除临时目录,2)接着对每一个ColumnFamily初始化Store(Store我们到介绍region的时候详细介绍,这里可以简单地理解为是一个映射表),3)根据初始化Store时读到的maxSeqId,来进行日志回放,每一个RegionServer对应一个日志文件,这里我们也不进行深入展开,4)把上次遗留的split文件清理掉,以及compaction时的merger目录也删除掉vi.创建metaregion,第一个metaregionid为1,初始化过程和5一样vii.meta信息加入到root表中viii.关闭roo

6、tregion和metaregion2)Hconnection:i.从一个LRU的confhashcode=>TableServer的HashMap中获取Hconnection,如果HashMap中没有,则创建并加入到map中,创建过程如下:ii.从conf中读取一些客户端参数iii.设置zooKeeperTrackers,包括一个zookeeperWatcher,master节点的地址监控tracker,rootregion的地址监控tracker3)ExecutorService:i.执行器服务,概括为一个线程池,一个Event队列,以及处理这个队列的处理器4)

7、ServerManger:i.管理regionserver的信息,HserverInfo,负载,以及死的server。ii.维护在线和离线的server,处理regionserver的启动和关闭5)CatalogServer:i.创建rootregion的地址监控tracker,metaregion的地址监控tracker,并启动他俩1)AssignmentManager:i.用于管理region的分配2)RegionServerTracker:i.启动通过zookeerper跟踪在线的regionserver3)ClusterStatusTracker:i.跟

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。