注:以下服务为基于安装Hadoop 2.6.0-cdh5.8.3后的所得服务,但并不是全部。
1. HDFS
NameNode
NameNode是一个中心服务器,负责管理文件系统的namespace以及客户端对文件的访问。
NameNode执行文件系统的namespace操作,比如打开、关闭、重命名文件或目录。同时它还确定block到DataNode节点的映射。
Namenode 详细功能如下:
- 它是维护和管理 Datanode 的主守护进程;
- 它记录存储在集群中的所有文件的元数据,例如 block 的位置、文件大小、权限、层次结构等。有两个文件与元数据关联:
- FsImage:它包含自 Namenode 开始以来文件的 namespace 的完整状态;
- EditLogs:它包含最近对文件系统进行的与最新 FsImage 相关的所有修改。
- 它记录了发生在文件系统元数据上的每个更改。例如,如果一个文件在 HDFS 中被删除,Namenode 会立即在 EditLog 中记录这个操作。
- 它定期从集群中的所有 Datanode 接收心跳信息和 block 报告,以确保 Datanode - 处于活动状态;
- 它保留了 HDFS 中所有 block 的记录以及这些 block 所在的节点;
- 它负责管理所有 block 的复制;
- 在 Datanode 失败的情况下,Namenode 会为副本选择新的 Datanode,平衡磁盘使用并管理到 Datanode 的通信流量。
DataNode
在集群内部,文件被分成一个或多