Hmaster 启动讲解

ps:发现想写明白确实不太容易、以下会慢慢完善


Hmaster启动会先执行Hmaster 构造函数,看看它都做了什么:

初始化conf、rpcServer、isa(InetAddressServer)、ServerName、zookeep、rpcServer start 、metrics

如果应用security注意以下两点:

login the zookeeper client principal (if using security)

initialize server principal (if using secure Hadoop)

rpcServer start

this.rpcServer.startThreads();  
                   包括 responder.start() 在随后的RPC中会进一步讲解 、listener.start()、初始化handler等

初始metrics,metric底层主要使用hadoop metrics



-----------------------上面构造函数end----------------

接下来执行Hmaser run方法

设置monitoredTask

启动infoserver也就是master ui

尝试成为活动master(多个master竞争、谁先完成谁就是)

然后完成初始化,主要有以下条目:

1、初始化fileSystemManager 主要做一些文件系统的管理,例如:rootdir  tempdir 、fs

初始化splitLogManager 、创建oldlogdir (.oldlog)

2、初始化tableDescriptors   即FSTableDescriptors  表的元数据信息,对应表目录下的 ".tableinfo.000000000x"  x随着对表修改而变动

3、在zk中创建保存clusterID的znode并设置值

4、初始化excutorService 这个可以参考上篇文章

5、初始化serverManager

6、初始化所有基于ZK的system tracker

       catalogTracker  启动 rootRegionTracker  和 metaNodeTracker

        初始化LoadBalance类

        初始化AssignmentManager   此类主要作用 管理执行region分配、监控关于region事务的zk事件、当master失败时处理已经存在的regions

       regionServerTracker 并将zk中的regionServer加到集合中

      drainingServerTracker 同上

      初始化 SnapshotManager

      初始化 MasterCoprocessorHost

      startServiceThread  前一篇文章中对 excutorService有讲解、这里主要就是excutorService的一些初始化、另外Logcleaner 、
获取archiveDir (hfile archive 一般rootdir下 .archive)

      初始化HfileCleaner

     如果helthCheck不为空的话执行helthCheck

      最后rpcServer (HbaseServer)调用openServer  即标记started = true  这样就可以接收请求啦!

     

------------------------------

    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值