HBase 启动
启动命令
|
|
Master
HBase master 源码主要位于hbase-server/org.apache.hadoop.hbase.master
路径下,入口类为HMaster
, 继承了HRegionServer
类,实现MasterServices
接口。
|
|
Regionserver
HBase regionserver 源码主要位于hbase-server/org.apache.hadoop.hbase.regionserver
路径下,入口类为HRegionServer
, 继承了HasThread
类,实现RegionServices
,LastSequenceId
, ConfigurationObserver
接口。
|
|
启动
$HBASE_HOME/bin/hbase-daemon.sh start master
会调用$HBASE_HOME/bin/hbase
启动org.apache.hadoop.hbase.master.HMaster
HMaster
入口函数在HMaster.main()
HMaster.main()
通过HmasterCommandLine.run()
执行HmasterCommandLine.startMaster()
,startMaster()
通过Hmaster.constructMaster()
创建master实例;master实例通过startActiveMasterManager()
设置守护线程来阻塞执行成为试图成为活动Master,成功后,执行finishActiveMasterInitialization()
;Hmaster.finishActiveMasterInitialization()
完成如下操作:启动监控线程InitializationMonitor;
加载meta 表;
设置zk中clusterID;
创建serverManager;
创建clusterConnection;
初始化zk结构;
初始化MasterCoprocessor;
启动服务线程;
serverManager等待rs注册;