分享

hadoop 源码剖析之namenode启动

namenode启动主要包含三部分:
创建NameNodeHttpServer、FSNameSystem、NameNodeRpcServer。
namenode初始化,直接create namenode一个实例--->NameNode namenode = createNameNode(argv, null);
----->initialize(conf);
        -----> 创建NameNodeHttpServer:startHttpServer(conf);
NameNodeHttpServer绑定了50070端口(配置属性:dfs.namenode.http-address),主要提供我们平时访问的namenode web界面,
我们可以查看集群状态、元数据、目录结构、block信息等。
    ----->初始化FSNamenode:loadNamesystem(conf);
实例化一个FSNamesystem,从磁盘上加载fsimage 和edits,将        fsimage和edits合并成一个新的FSImage加载到内存,然后打开一个新的edits继续写入。
        ----->调用FSNameSystem 的startCommonServices:进入安全模式、检查磁盘空间等
    ----->初始化NameNodeRpcServer:createRpcServer(conf)
实现了各个节点之间通信接口:client<----->namenode、datanode<----->namenode、datanode<----->datanode等

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条