Apache Hadoop的重要组成

Hadoop = HDFS(分布式文件系统) + MapReduce(分布式计算框架) + Yarn(资源协调框架) + Common模块

HDFS

Hadoop Distribute File System 一个高可靠, 高吞量的分布式文件系统
"分而治之"

Apache Hadoop的重要组成_第1张图片

  • NameNode(nn): 存储文件的元数据. 比如文件名, 文件目录结构, 文件属性(生成时间, 副本数, 文件权限), 以及每个文件的块列表和块所在的DataNode等
  • SecondaryNameNode(2nn): 辅助NameNode更好地工作, 用来监控HDFS状态的辅助后台程序, 每隔一段时间获取HDFS元数据快照
  • DataNode(dn): 在本地文件系统存储文件块数据, 以及块数据的校验

NN, 2NN, DN 这些既是角色名称, 也是进程名称, 更是代指电脑节点名称

MapReduce

MapReduce计算 = Map阶段 + Reduce阶段
Map阶段就是 的阶段, 并行处理输入数据
Reduce阶段就是 的阶段, 对Map阶段结果进行汇总

Apache Hadoop的重要组成_第2张图片

Yarn

作业调度与集群资源管理的框架

Apache Hadoop的重要组成_第3张图片

  • ResourceManager(rm): 处理客户端请求, 启动/监控ApplicationMaster, 监控NodeManager, 资源分配与调度
  • NodeManager(nm): 单个节点上的资源管理, 处理来自ResourceManager的命令, 处理来自ApplicationMaster的命令
  • ApplicationMaster(am): 数据切分, 为应用程序申请资源并分配给内部任务, 任务监控容错
  • Container: 对任务运行环境的抽象, 封装了CPU, 内存等多维资源以及环境变量, 启动命令等任务运行相关的信息

ResourceManager是老大, NodeManager是小弟, ApplicationMaster是计算任务专员

Apache Hadoop的重要组成_第4张图片

你可能感兴趣的:(hadoop)