目录

Hadoop重要组成

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

1. HDFS

Hadoo pDistribute File System一个高可靠、高吞吐量的分布式文件系统

数据分割, 制作副本, 分散储存

https://img.zhaojq.top/20260727091747640.png
img_3

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

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

2. mapReduce

一个分布式离线并行计算框架, 拆解任务、分散处理、汇整结果 MapReduce计算=Map阶段+Reduce阶段

  • Map阶段就是“分”的阶段,并行处理输入数据
  • Reduce阶段就是“合”的阶段,对Map阶段结果进行汇总

https://img.zhaojq.top/20260727091747833.png
img_4

3. YARN

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

https://img.zhaojq.top/20260727091747996.png
img_5

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

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

4. Common

支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)