HBase源码分析3—HMaster启动过程
Main Entry
首先找一下启动的入口。从HBase的启动脚本中可以找到类似
1 2 |
if [ "$COMMAND" = "master" ] ; then CLASS='org.apache.hadoop.hbase.master.HMaster' |
从这里确定了入口的包 org.apache.hadoop.hbase.master ,在 HMaster 类中有 main 方法
1 2 3 4 |
public static void main(String[] args) { VersionInfo.logVersion(); new HMasterCommandLine(HMaster.class).doMain(args); } |
HMasterCommandLine 继承自 ServerCommandLine ,doMain()执行的是基类的方法,借助 ToolRunner 执行了 HMasterCommandLine.run() 。