启动命令
hadoop-daemon.sh start namenode
hdfs.sh
namenode)
HADOOP_SUBCMD_SUPPORTDAEMONIZATION="true"
HADOOP_CLASSNAME='org.apache.hadoop.hdfs.server.namenode.NameNode'
hadoop_add_param HADOOP_OPTS hdfs.audit.logger "-Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER}"
调用org.apache.hadoop.hdfs.server.namenode.NameNode的main方法
try {
StringUtils.startupShutdownMessage(NameNode.class, argv, LOG);
NameNode namenode = createNameNode(argv, null);
if (namenode != null) {
namenode.join();
}
} catch (Throwable e) {
LOG.error("Failed to start namenode.", e);
terminate(1, e);
}
主要就是createNameNode方法
setStartupOption(conf, startOpt);
new NameNode(conf)
里面主要是initialize(getConf());
里面三个主要方法
startHttpServer(conf);
loadNamesystem(conf)
createRpcServer(conf)