HDFS---Namenode

来源:互联网 发布:玉米数据库 编辑:程序博客网 时间:2024/05/11 14:18

Overview

 Namenode 是HDFS中负责namespace管理的节点,Namenode 保存了当前集群中所存储的的所有的文件的元数据信息,namenode同时与集群中其它的节点通信,以保持元数据与系统中的文件的一致性,同时也和client通信,以响应client对文件的需要。


NameNode中主要有两个大类来处理这些需求,

FSNamesystem ---- 是一个门面类,主要通过该类调用系统中相应实现来维护namespace信息;

NameNodeRpcServer: 是一个ipc实现类,实现了各种protocols, 来与系统中的各个节点通信:

NamenodeProtocol: 用来与BackupNode,CheckpointNode,SecondaryNode通信交换数据;

ClientProtocol: 用来与DFSClient通信,读写系统中的文件信息;

DatanodeProtocol: 用来与DataNode通信,发布命令,接收DataNode的报告;

RefreshAuthorizationPlolicyProtocol: 刷新系统权限列表;

RefreshUserMappingsProtocol:刷新系统中用户映射信息;

GetUserMappingsProtocol:获取用户映射信息;

HAServiceProtocol:与组成HA的Node通信,监测Node状态,并在失败时执行failover操作。

NameNode 启动



Generalize 

Hdfs为了实现向后兼容,在系统启动的时候会把一些与在NameserService相关的配置项用相同的值再建立一个原来系统中使用的配置项。

Security information

初始化用户机关信息。

LoadNamesystem

调用FSNamasystem.loadFromDisk初始Namesystem 实例,从而初始化文 件管理 的各个manager:
BlockManager:管理集群中所有的Block相关信息;
DatanodeManager:BlockManager通过该类管理与block现datanode相关连的信息。
FSImage:FSNamesystem,通过该类存储系统中文件的给构信息;
FSDirecoty:通过该类与本地文件系统建立连系;
SnapshotManager



Initialize NamenodeRpcServer


StartHttpServer


Start all Services and RpcServer


原创粉丝点击