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.HMasterHMaster入口函数在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注册;