尚硅谷Hadoop 3.x MapReduce&Yarn学习指南
需积分: 18 121 浏览量
更新于2024-07-14
收藏 2.58MB PDF 举报
"Hadoop(3.x)之MapReduce&Yarn.pdf"
MapReduce是Hadoop生态中的核心组件,主要用于大规模数据集的并行处理。它是一个编程模型,旨在简化分布式计算,尤其适合处理和生成大型数据集。在Hadoop 3.x版本中,MapReduce继续作为大数据处理的主要工具之一。
1. MapReduce定义
MapReduce由两个主要阶段组成:Map阶段和Reduce阶段。在Map阶段,数据被分割成多个块,并在不同的节点上并行处理。然后,Reduce阶段将Map阶段的结果进行聚合和总结,生成最终的输出。用户主要通过实现Map和Reduce接口来编写业务逻辑,Hadoop框架负责处理数据分布、容错和资源调度。
2. MapReduce优点
- 易于编程:MapReduce采用分治策略,使得开发者只需关注单个数据处理,无需关心分布式系统的复杂性。
- 良好的扩展性:随着硬件需求的增长,只需添加更多节点,MapReduce就能自动适应并提升处理能力。
- 高容错性:系统能自动检测和处理故障,确保任务的连续性和完整性。
- 大规模数据处理:适合PB级别以上的离线批量数据处理,可以有效地处理海量数据。
3. MapReduce缺点
- 实时计算:MapReduce不适用于需要快速响应的实时查询或流式计算场景。
- 流式计算:输入数据必须是静态的,无法处理不断变化的数据流。
- DAG计算:不适合处理有依赖关系的多步骤作业,因为每个任务的输出是下一个任务的输入,这在MapReduce模型中不易实现。
YARN(Yet Another Resource Negotiator),是Hadoop 2.x引入的资源管理系统,负责集群资源的调度和管理。它将原本在JobTracker中的资源管理和作业调度功能分离,形成了ResourceManager(RM)和NodeManager(NM)两大核心组件。
- ResourceManager全局控制整个集群的资源分配,负责接收应用程序的请求,为应用程序分配资源。
- NodeManager是每个节点上的代理,负责管理该节点上的容器(Container),执行任务并监控其资源使用情况。
YARN的主要改进包括:
1. 提高了系统的资源利用率和性能,通过分离资源管理和任务调度,使得系统能更好地支持多种计算框架。
2. 提供更好的可伸缩性和健壮性,资源管理独立于具体的计算框架,使得故障恢复更加高效。
3. 支持更复杂的作业类型,如交互式查询、流处理等,通过引入新的调度器,如Capacity Scheduler和FIFO Scheduler。
Hadoop 3.x的MapReduce和YARN结合,为大数据处理提供了强大而灵活的平台,尽管它在某些特定场景下有所不足,但依然是大数据领域的重要工具。对于希望深入理解和使用Hadoop进行大数据处理的开发者而言,这份学习资料是宝贵的资源。
2020-03-26 上传
2018-03-23 上传
2023-03-16 上传
2023-09-06 上传
2023-08-27 上传
2023-07-17 上传
2023-06-06 上传
分别在虚拟机Hadoop1、Hadoop2和Hadoop3执行vi /etc/hosts"命令编辑映射文件hosts,在配置文件中添加如下内容。 192.168.121.160 hadoop1192.
2024-09-11 上传
2024-09-02 上传
訾尤
- 粉丝: 28
- 资源: 172
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升