HDFS Yarn MapReduce关系

本文详细介绍了HDFS(Hadoop Distributed File System)和YARN(YARN Resource Manager)在MapReduce任务执行过程中的交互。当数据上传到HDFS后,MapReduce作业提交到YARN,由ResourceManager调度AppMaster,进而分配Container到各个NodeManager上运行MapTask。MapTask从DataNode读取数据,完成处理后,AppMaster申请资源运行ReduceTask。ReduceTask在获取MapTask结果后将其写回HDFS。整个流程展示了HDFS和YARN如何协同支持大规模数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HDFS Yarn MapReduce关系

图片讲解

在这里插入图片描述

文字讲解

  1. HDFS启动

    • 一个HDFS集群,三个结点,一个有NameNode,三个DataNode,一个SNM

    • 往HDFS上传数据,就是上传到DN

  2. YARN启动

    • 一个RM,三个NodeManager

    • 写MR程序,提交Job到RM

    • RM启动APPMaster

    • AM向RM申请Resource

    • RM会给AM资源:Container

      (根据每个结点的资源情况;运行程序需要的资源的块所在的结点;合理分配Container)

    • MapTask在Container,MapTask会去DataNode上面读取资源

    • MapTask运行完产生结果,此时AppMaster再次向RM申请运行ReduceTask所需资源

    • RM选择合适的结点创建容器,运行RT,此时RT到MT所在的容器拉取运行结果

    • ReduceTask运行完结果后就会写到HDFS上,即:DataNode上

    • 释放资源

### 关于HDFSYARNMapReduce的大数据集群配置教程最佳实践 #### HDFS 配置详解 对于HDFS而言,在Linux环境下运行时,其命令结构通常是在标准Linux命令前加上`hadoop fs` 或 `hdfs dfs`。例如,为了查看特定目录中的文件列表,可以使用如下命令[^1]: ```bash hadoop fs -ls /path/to/directory ``` 此命令允许管理员轻松管理分布式文件系统的资源。 #### YARN 的安装与配置 虽然未直接提及具体细节,但是基于对Hadoop生态系统的一般理解,YARN作为资源管理和调度框架,其部署往往紧随HDFS之后。这涉及到设置环境变量以及调整核心站点配置来启用YARN服务。重要的是确保所有节点上的Java版本一致,并正确设置了`JAVA_HOME`环境变量。 #### MapReduce 执行实例解析 当执行WordCount这样的经典案例程序时,可以通过提交JAR包给Hadoop集群完成作业。下面是一个具体的例子,展示了如何利用预打包好的MapReduce示例JAR来进行单词计数任务[^2]: ```bash [atguigu@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output ``` 上述命令会读取位于HDFS `/input` 路径下的输入数据并将其处理后的结果保存至 `/output` 中。 #### 数据流概述 在整个过程中,MapReduce的工作原理是从HDFS获取原始数据,通过自定义的Mapper函数转换成键值对形式的数据集,接着经历Shuffle阶段重新组织这些中间件输出以便后续Reduction操作能够高效地汇总相同Key对应的Values集合。最终,Reducer产生的输出会被写回到HDFS中去[^3]. #### 性能优化建议 针对某些硬件条件有限的情况,适当降低内存分配可能是必要的措施之一。比如编辑`hadoop-env.cmd`脚本文件并将默认堆大小设定为更合理的数值可以帮助缓解因内存不足引起的问题[^4]: ```properties set HADOOP_HEAPSIZE=200 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C_x_330

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值