hadoop 2.7.3 源码分析(四):namenode启动流程

本文详细剖析了Hadoop Namenode的启动流程,从NameNode主类开始,探讨了静态代码块的角色,尤其是配置初始化过程。通过分析启动配置和主函数,揭示了HdfsConfiguration类的初始化细节,包括单例设计和配置映射的维护,确保系统正确运行。
摘要由CSDN通过智能技术生成

摘要

通过前边的文章我们已经知道,hadoop namenode启动的类org.apache.hadoop.hdfs.server.namenode.NameNode,本节内容就顺着其启动流程,查看在namenode启动的过程中其都做了哪些工作(关于一些技术细节就暂时放过)。

启动

我们通过命令

$start-dfs.sh

启动hadoop集群的namenode和datanode,在namenode启动的过程中JVM首先加载org.apache.hadoop.hdfs.server.namenode.NameNode这个类。

NameNode启动流程

从分析流程上来说我们主要关注两部分代码

static语句块,在执行主函数前

static{
    HdfsConfiguration.init();
}

通过函数的名称我们也可以看出上述代码作用是初始化HDFS的配置信息。
在执行完static语句块后执行main函数,其代码如下。(分析直接写在代码的注释当中)

public static void main(String argv[]) throws Exception{
     //分析传入的参数是否为帮助参数,如果是帮助的话打印帮助信息,并退出。
    if(DFSUtil.parseHelpArgument(argv,NameNode.USAGE,System.out,true)){
        System.exit(0);
    }
    try{
        //格式化输出启动信息,并且创建hook(打印节点关闭信息)
        StringUtils.startupShutdownMessage(NameNode.class,argv,LOG)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iblks

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值