Hadoop之旅(4)— MapReduce 与 YARN 原理讲解

第三章 MapReduce与Yarn 第三章 MapReduce与Yarn 本章讲述大数据领域最著名的批处理与离线处理框架 MapReduce,包括原理,流程,使用场景; 以及Hadoop集群中用于统一资源管理调度的组件 Yarn,包括定义,功能,与架构,HA方案和容错机制,以及利用Yarn进行资源调配的常见方法。 1. MapReduce与Yarn基本介绍 1.1 MapReduce概述 MapReduce基于Google的MapReduce论文设计开发,基于分而治之的思想,用于大规模数据集(1TB以上)的并行计算和离线计算,特点如下: 阅读详情

1、MapReduce 介绍

      MapReduce是一种可用于数据处理的编程框架。MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。

MapReduce如何分而治之呢?    map->“分”   ==》    reduce->“合并”  

在MapReduce过程详细:input  ->   map ->  shuffle   ->reduce -> output

      在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个函数:map和reduce,map负责把任务分解成多个任务,reduce负责把分解后多任务处理的结果汇总起来。


1.1、MapReduce结构图


     上图其实就是这句话:input  ->   map ->  shuffle   ->reduce -> output

       MapReduce运行模式:
                * 本地模式运行、例如(运行Hadoop JAR—运行参数—输入源—输出源)

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/chenzhengy
ou/mapreduce/wordcount/input /user/root/chenzhengyou/mapreduce/wordcount/output
                * yarn模式例如、(运行YARN JAR—运行参数—输入源—输出源)

bin/yarn jar jars/hadoop-mapreduce.jar /chenzhengyou/mapreduce/wordcount/input/wc.input /chenzhengyou/map
reduce/wordcount/output



1.2、MapReduce在YARN?




      1)用户程序 (JobClient) 提交了一个 job,job 的信息会发送到 Job Tracker 中,Job Tracker 是 Map-reduce 框架的中心,他需要与集群中的机器定时通信 (heartbeat), 需要管理哪些程序应该跑在哪些机器上,需要管理所有 job 失败、重启等操作。
      2)TaskTracker 是 Map-reduce 集群中每台机器都有的一个部分,他做的事情主要是监视自己所在机器的资源情况。
      3)TaskTracker 同时监视当前机器的 tasks 运行状况。TaskTracker 需要把这些信息通过 heartbeat 发送给 JobTracker,JobTracker 会搜集这些信息以给新提交的 job 分配运行在哪些机器上。
   
       从上图可以看出 YARN 帮助我们管理整个资源的管理和调度、管理每个节点的资源与调度,还有更好管理Hadoop生态圈技术、比如HIve、Hbase等。


1.3、 shuffle 过程



      MapReduce处理过程、其中Shuffle过程是MapReduce的核心、红色部分是shuffle的过程:

              在 input 阶段:
                            InputFormat (输入格式化):读取数据、转换成<key,value>
              在 map 阶段:
                            ModuleMapper:map(KEYIN,VALUEIN,KEYOUT,VALUEOUT)
              在 shuffle 阶段:
                            接收map的输出:output<key,value>
                            spill:溢写到磁盘中
                                     * 分区parttition、排序sort
                                     * 合并,merge、copy
              在 Reduce Task阶段:回到Map  Task运行的机器上,拷贝要处理的数据
                                     * 合并、merge、排序、分组group、将相同Key 的value放在一起






2、YARN 介绍

       MapReduce has undergone a complete overhaul in hadoop-0.23 and we now have, what we call, MapReduce 2.0 (MRv2) or YARN(官网的介绍)

        在hadoop 2.0版本中后,YARN引入了一种新的调度策略:基于标签的调度机制。该机制的主要引入动机是更好地让YARN运行在异构集群中,进而更好地管理和调度混合类型的应用程序。

YARN架构图

2.1、YARN 组件

         ResourceManager组件:整个集群资源的管理和调度、处理客户端请求、启动与监控ApplicationMaster、监控NodeManager、资源分配与调度。

        NodeManager组件:管理每个节点的资源与调度、单个节点上的资源管理、处理来自ResourceManager的命令、处理来自己ApplicationMaster的命令。

        ApplicationMaster组件(图App Mstr):数据切分、为应用程序申请资源,并且分配给内部任务、任务监控与容错。                 
        Container组件:对任务运行环境的抽象、把CPU、内存等资源以及环境变量、启动命令等任务运行相关的信息。

2.2、YARN 在Haoop生态圈



        可以看出 YARN 在 HADOOP 生态圈占有极大的地位、比如MapReduce、Tez等都运行在YARN在,统一的管理。虽然MapReduce没有YARN也可以运行操作、但是为了资源的调度与分配、更好的管理集群(实际一般都是集群),更好的协调合作。
        Hadoop是处理离线大量数据的、但是Spark是基于内存级别的计算框架,都知道Spark速度比hadoop快,各取优点。那么?谁来管理这个协调合作呢?这就是需要YARN来管理协调了。























MapReduce&Yarn自学心得 MapReduce&Yarn自学心得 1.MapReduce是什么 分为两点: 1.MapReduce是一个分布式运算计算框架,是用户开发基于hadoop数据分析的应用的核心框架。 2.MapReduce核心功能是将用户编写的业务逻辑和自带默认组件整合成一个完整的分布式运算程序,并将它运行在hadoop集群上。 2.MapReduce的优缺点 2.1优点 2.1.1 MapReduce易于编程 只要简单实现一些接口就可以完成一个分布式程序,这个分布式程序可以分布到大量的廉价计算机上运行,跟写一个简单 阅读详情

相关推荐

Hadoop集群HDFS、MapReduce及Yarn面试全集(更新中)

广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。狭义上说,Hadoop指Apache这款开源框架,它的核心组件有:HDFS(分布式文件系统):解决海量数据存储YARN(作业调度和集群资源管理的框架):解决资源任务调度MAPREDUCE(分布式运算编程框架):解决海量数据计算定义:Hdfs是一个分布式文件系统,用来存储文件,通过目录树来定位文件。Hdfs适合一次写入、多次写出的文件场景,且不支持文件的修改,适合用来做数据分析,并不适合用来做网盘应用。

weixin_44687655的博客 1254

Hadoop MapReduce & Yarn 详解

目录1. MapReduce1. MapReduce概述2. 编程模型3. 案例2. YARN1. YARN简介2. YARN原理3. YARN工作机制最后 1. MapReduce 1. MapReduce概述 Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序。编写好的程序可以提交到 Hadoop 集群上用于并行处理大规模的数据。 概念 面向批处理的分布式计算框架 一种编程模型:MapReduce程序被分为Map(映射)阶段和Reduce(化简)阶段 核心思想 分而治之

Thpffcj的博客 816

Hadoop系列-07 Hadoop YARN资源调度详解:架构原理与调度器实战全攻略

YARN是Hadoop的资源调度系统,采用主从架构设计,由ResourceManager(主节点)和多个NodeManager(从节点)组成。ResourceManager负责全局资源管理和分配,包含调度器和应用程序管理器组件。NodeManager监控节点资源并管理Container的生命周期。Container是YARN的资源抽象单位,封装CPU、内存等资源。ApplicationMaster为应用程序申请资源并监控任务执行。此外,JobHistoryServer记录作业历史运行情况,需通过配置文件启用

yangwei2048的博客 2796

MapReduce与Yarn的概述

mapreduce、yarn概述

weixin_48796645的博客 1100

hadoop的yarn

服务器运行程序,运行程序所需的资源预先通知给resourcemanager,由resourcemanager通知给nodemanager进行调度,而nodemanager这边先搭建一个container(容器),把程序所需资源先占用放入container,再供给程序使用.程序向YARN申请所需资源, YARN为程序分配所需资源供程序使用,明显的担起了资源调度的职责。: 单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用。一:/etc/hadoop/yarn-env.sh。

m0_72898512的博客 1200

Hadoop原理与代码实例讲解

Hadoop原理与代码实例讲解 Hadoop是一款强大的分布式数据处理框架,广泛应用于大数据领域。本文将系统介绍Hadoop的核心原理、架构,并深入探讨Hadoop的编程模型和数学模型。此外,本文还将通过实际项目实战案例,展示Hadoop在实际开发中的应用,并提供详细的代码实现和解读。 关键词:

AI天才研究院 1148

mapreduce与yarn

MapReduce与YARN详解

太白_猿的博客 958

宏杉MacroSan存储开局指导-流程

目录 1. 导入ODSP授权 2.1.版本确认 2.2.存储设备升级U盘、升级光盘制作方法 开局流程如下: 1. 导入ODSP授权 ODSP授权文件随设备附带,拆箱可见 2.1.版本确认 java模式 html模式 2.2.存储设备升级U盘、升级光盘制作方法 准备工具 空白U盘: 1个,容量要求大于等于4GB。仅制作升级U盘时需要。 制作升级U盘步骤 1.将U盘插入PC机USB口,保证PC机能识别到U盘。 2.运行UltraISO,选择菜单中的 文件-&g...

飞天板砖 4283

Hadoop三大核心组件——HDFS、YARN、MapReduce原理解析

Hadoop 文章目录Hadoop一、 简介二、工作原理1.HDFS原理组成介绍执行流程图2.YARN原理组成介绍执行流程图3.MapReduce原理什么是MapReduce完整工作流程图流程详细描述MapTask流程Shuffle流程Reduce Task流程总结 一、 简介 Hadoop主要在分布式环境下集群机器,获取海量数据的处理能力,实现分布式集群下的大数据存储和计算。 其中三大核心组件: HDFS存储分布式文件存储、YARN分布式资源管理、MapReduce分布式计算。 二、工作原理 1.HD

笑里笑外~ 1万+

保姆级教程:在Jetson Nano上从零移植OV5647 CSI摄像头驱动(附完整调试记录)

本文提供了一份详细的Jetson Nano OV5647 CSI摄像头驱动移植教程,涵盖硬件准备、驱动框架分析、设备树配置、驱动移植核心修改点及调试技巧。通过V4L2框架和Tegra平台适配,开发者可快速实现摄像头驱动的移植与优化,适用于边缘计算和嵌入式视觉应用。

weixin_27869497的博客 519

ESP32S3学习——i2c,点亮0.96寸oled

ESP32S3学习——i2c,点亮0.96寸oled

HandBAI的博客 1万+

Hadoop MapReduce八大步骤以及Yarn工作原理详解

Hadoop是市面上使用最多的大数据分布式文件存储系统和分布式处理系统, 其中分为两大块分别是hdfs和MapReduce, hdfs是分布式文件存储系统, 借鉴了Google的GFS论文. MapReduce是分布式计算处理系统, 借鉴了Google的MapReduce论文. 本文着重来梳理下新版也就是2.3后的Hadoop的MapReduce部分, 也就是Yarn框架, 以及MapReduce...

面向星辰大海 1万+

解决LangChain4j报错HTTP/1.1 header parser received no bytes

当使用调用自己部署的大模型服务时报错: 报错信息如下:

weixin_44455388的博客 2341

大数据Hadoop原理介绍+安装+实战操作(HDFS+YARN+MapReduce)

文章目录一、概述HDFS的设计特点二、HDFS组成1)Client2)NameNode(NN)3)DataNode(DN)4)Secondary NameNode(2NN)三、HDFS具体工作原理1)两个核心的数据结构: Fslmage和EditLog2)工作流程3)HDFS读文件流程4)HDFS文件写入流程四、安装Hadoop(HDFS+Yarn)1)环境准备2)下载最新的Hadoop安装包3)进行服务器及Hadoop的初始化配置五、helm3安装HDFS1)前期准备2)创建命名空间&拉包3)创建

匠人精神,持之以恒! 5719

从零开始:用Kimi API和LangChain打造智能写作助手

本文详细介绍了如何从零开始,利用Kimi API提供的强大AI大模型能力,结合LangChain框架构建一个智能写作助手。通过实战演示了环境搭建、核心写作链构建、以及引入检索增强生成和智能体等进阶功能,旨在解决长文档创作、事实准确性等痛点,打造一个能理解意图、调用工具并保持记忆的智能创作伙伴。

weixin_29294395的博客 140

模型实战(16)之StrongSort (OSNET)配合YOLOv5、v7、v8 实现多目标跟踪详解

StrongSort (OSNET)配合YOLOv5、v7、v8 实现多目标跟踪详解

yohnyang的博客 1771

hadoop中MapReduce和yarn的基本原理讲解

目录 1 MapReduce 1.1 执行流程 1.2 工作原理 Map任务处理 Reduce任务处理 MR的Shuffle过程 1.3 运行流程分析 2 yarn 2.1简介 2.2 组成 1. ResourceManager 2. NodeManager 3.ApplicationMaster(AM) 4. Container 2.3 工作原理 1 MapReduce MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和.

mocas_wang的博客 3296

无人驾驶Autoware导读

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对无人驾驶Autoware介绍做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 2398

图解 Hadoop 架构 |Yarn、MapReduce

YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统的一个关键组件,用于集群资源管理和作业调度,是 Hadoop 的第二代资源管理器,取代了早期版本中的 MapReduce 作业调度器,为大规模数据处理提供了更灵活和高效的资源管理框架。尽管 MapReduce 在大数据处理方面取得了巨大成功,但随着数据处理需求的多样化,其他更灵活和高级的计算模型和框架也得到了发展和应用,如 Spark、Flink 等。后续会出一篇关于 YARN 详细笔记,这里不过多赘述~

面向生活编程 3710

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

深入理解 Hadoop MapReduce 调度原理与 YARN 架构

在大数据领域,Hadoop 是最重要的分布式计算平台之一。随着数据规模的增长,Hadoop 从 1.x 到 2.x 发生了巨大变革,核心就是引入了 YARN 资源调度框架。本文将结合图示,详细梳理 Hadoop MapReduce 的调度原理与 YARN 的工作机制。阶段资源调度JobTracker 单点负责ResourceManager + AM 分层任务管理调度粒度Task 为单位Container 为单位扩展性受限,易成瓶颈高扩展性、支持多框架调度器类型。

IT技术学习与工作笔记分享 1268

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Hadoop MapReduce与Hadoop YARN

Hadoop MapReduce与Hadoop YARN

hello_shal的博客 1500

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Hadoop核心组件详解—HDFS、YARN、MapReduce

Hadoop 是一个开源的分布式计算和存储框架,它的作用非常简单,就是在多计算机集群环境中营造一个统一而稳定的存储和计算环境,并能为其他分布式应用服务提供平台支持,相当于在某种程度上将多台计算机组织成了一台计算机。 Hadoop 框架最根本的原理就是利用大量的计算机同时运算来加快大量数据的处理速度。Hadoop 集群可运行于一般的商用服务器上,具有高容错、高可靠性、高扩展性等特点。适合一次写入,多次读取的场景,不适合频繁修改文件及大量的小文件和低延时的数据访问。 本文将对Hadoop 的三大核心组件进行介绍

weixin_40474941的博客 1万+

sheng的学习笔记-hadoop,MapReduce,yarn,hdfs框架原理

hadoop,mapreduce,yarn,hdfs

coldstarry的专栏 1498

MapReduce与YARN原理解析

MapReduce与YARN原理解析 目录MapReduce与YARN原理解析前言一.MapReduce(1)mapreduce的发展历程(2)mapreduce的工作流程Split:分片操作RR:记录阅读器Map:Map函数ShuffleReduce函数二.YARNYARN的简介YARN工作流程总结 前言 这里主要偏向理论理解,主要是为了更好的理解MR计算框架和YARN 一.MapReduce (1)mapreduce的发展历程 Hadoop1.x是由hdfs和mapreduce组成,并没有YRA

qq_53296503的博客 1143

深入剖析Hadoop三大核心组件:HDFS, MapReduce与YARN

深入剖析Hadoop三大核心组件:HDFS, MapReduce与YARN

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 2873
上一篇: Hadoop之旅(3)— HDFS 原理讲解
下一篇: Hadoop之旅(5)— MapReduce Java API案例实战
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值