MapReduce和yarn

Hadoop学习之路,YARN的配置与安装(2) Hadoop中YARN的配置 etc/hadoop/mapred-site.xml文件编辑 <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> etc/hadoop/yarn-site.xm 阅读详情

1.Mapreduce是什么?

Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架;

Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上;

2.作用

(1)海量数据在单机上处理因为硬件资源限制,无法胜任

(2)而一旦将单机版程序扩展到集群来分布式运行,将极大增加程序的复杂度和开发难度

(3)引入mapreduce框架后,开发人员可以将绝大部分工作集中在业务逻辑的开发上,而将分布式计算中的复杂性交由框架来处理.

 

3.mapreduce的shuffle机制

 

mapreduce中,map阶段处理的数据如何传递给reduce阶段,是mapreduce框架中最关键的一个流程,这个流程就叫shuffle;

 

shuffle: 洗牌、发牌——(核心机制:数据分区,排序,缓存);

 

具体来说:就是将maptask输出的处理结果数据,分发给reducetask,并在分发的过程中,对数据按key进行了分区和排序;

 

Shuffle整体来看,分为3个操作:

 

1、分区partition

 

2、Sort根据key排序

 

3、Combiner进行局部value的合并

 

4.MAPREDUCE中的Combiner

 

 

 

(1)combiner是MR程序中Mapper和Reducer之外的一种组件

 

(2)combiner组件的父类就是Reducer

 

(3)combiner和reducer的区别在于运行的位置:

 

Combiner是在每一个maptask所在的节点运行

 

Reducer是接收全局所有Mapper的输出结果;

 

(4) combiner的意义就是对每一个maptask的输出进行局部汇总,以减小网络传输量

 

具体实现步骤:

 

1、 自定义一个combiner继承Reducer,重写reduce方法

 

2、 在job中设置:  job.setCombinerClass(CustomCombiner.class)

 

(5) combiner能够应用的前提是不能影响最终的业务逻辑

 

而且,combiner的输出kv应该跟reducer的输入kv类型要对应起来

 

 

5,集群运行模式

 

(1)将mapreduce程序提交给yarn集群resourcemanager,分发到很多的节点上并发执行

 

(2)处理的数据和输出结果应该位于hdfs文件系统

 

(3)提交集群的实现步骤:

 

A、将程序打成JAR包,然后在集群的任意一个节点上用hadoop命令启动

 

     $ hadoop jar wordcount.jar cn.itcast.bigdata.mrsimple.WordCountDriver inputpath outputpath

 

B、直接在linux的eclipse中运行main方法

 

(项目中要带参数:mapreduce.framework.name=yarn以及yarn的两个基本配置)

 

C、如果要在windows的eclipse中提交job给集群,则要修改YarnRunner类

 

6.编程规范

 

(1)用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户端)

 

(2)Mapper的输入数据是KV对的形式(KV的类型可自定义)

 

(3)Mapper的输出数据是KV对的形式(KV的类型可自定义)

 

(4)Mapper中的业务逻辑写在map()方法中

 

(5)map()方法(maptask进程)对每一个<K,V>调用一次

 

(6)Reducer的输入数据类型对应Mapper的输出数据类型,也是KV

 

(7)Reducer的业务逻辑写在reduce()方法中

 

(8)Reducetask进程对每一组相同k的<k,v>组调用一次reduce()方法

 

(9)用户自定义的Mapper和Reducer都要继承各自的父类

 

(10)整个程序需要一个Drvier来进行提交,提交的是一个描述了各种必要信息的job对象

 

7.YARN

 

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序

 

YARN的重要概念

 

1、 yarn并不清楚用户提交的程序的运行机制

 

2、 yarn只提供运算资源的调度(用户程序向yarn申请资源,yarn就负责分配资源)

 

3、 yarn中的主管角色叫ResourceManager

 

4、 yarn中具体提供运算资源的角色叫NodeManager

 

5、 这样一来,yarn其实就与运行的用户程序完全解耦,就意味着yarn上可以运行各种类型的分布式运算程序(mapreduce只是其中的一种),比如mapreduce、storm程序,spark程序,tez ……

 

6、 所以,spark、storm等运算框架都可以整合在yarn上运行,只要他们各自的框架中有符合yarn规范的资源请求机制即可

 

7、 Yarn就成为一个通用的资源调度平台,从此,企业中以前存在的各种运算集群都可以整合在一个物理集群上,提高资源利用率,方便数据共享

 

Spark on Yarn和MapReduce on Yarn区别   Apache Spark的高性能一定程度上取决于它采用的异步并发模型(这里指server/driver端采用的模型),这与Hadoop 2.X(包括YARN和MapReduce)是一致的。Hadoop2.X自己实现了类似Actor的异步并发模型,实现方式是epoll+状态机,而Apache Spark则直接采用了开源软件Akka,该软件实现了Actor模型,性能非常高。尽管二者在server端... 阅读详情

相关推荐

一文讲透3GPP TS 36.104发射链路相关指标

3GPP是制定移动通信标准的国际组织,其36.104规范对LTE基站射频性能提出详细要求。规范主要涵盖七方面:1)基站输出功率分类标准;2)LTE信道带宽计算方法;3)TD-LTE特有的发射机关断功率及时延要求;4)信号质量指标(频率误差和EVM)及其影响因素;5)邻道泄漏比(ACLR)的45dBc标准;6)带内频谱辐射模板(OBUE)的噪声限制;7)9kHz-12.75GHz频段的带外杂散辐射要求。这些技术要求保障了LTE基站的射频性能和网络质量。

weixin_49761275的博客 4526

Hadoop学习记录5--YARN学习1

YARN是一个全局的资源管理器和作业调度平台。YARN的基本思想是将资源管理和作业调度/监视功能划分为单独的守护进程。其思想是拥有一个全局ResourceManager (RM),以及每个应用程序拥有一个ApplicationMaster (AM)。应用程序可以是单个作业,也可以是一组作业。 一个ResourceManager和多个NodeManager构成了YARN资源管理框架。他们是YARN启动后长期运行的守护进程,来提供核心服务。YARN属于Hadoop的核心组件,不需要单独安装,只需要修改一些配置文

weixin_45772744的博客 1281

Openwork 入门指南:开源 AI 桌面助手快速上手

Openwork是一款开源的AI桌面代理工具,提供类似Claude Cowork的免费替代方案。它支持本地运行,确保隐私安全,并能高效处理文件整理、文档读写等任务。支持多种AI模型,通过MIT许可完全免费。安装简单,仅需运行命令行或下载桌面版,需配置API Key后即可使用。操作直观,支持多步骤规划和权限控制,适合自动化重复工作。目前主要支持macOS,未来将扩展至Windows/Linux。建议从简单任务入手,逐步掌握这一高效的数字助手工具。

3802

hadoop安装之保姆级教程(二)之YARN的配置

我们在YARN上运⾏MapReduce的程序的时候,可以在控制台上看到任务的⽇志输出,以获取到任务的运⾏状态。同 时,YARN也会将⽇志写在本地的⽂件夹中,我们可以到⽂件夹中进⾏⽇志的查 看。但是这个⽂件夹中的内容,会随着YARN的重启⽽被删除掉。那么此时我们将如何查看⽇志?此时就需要开启Hadoop的历史⽇志服务了,Hadoop会将MapReduce的任务⽇志在HDFS也保留⼀份,我们可以通过 Hadoop的历史任务服务来查看到之前的历史⽇志!

qq_52868045的博客 3850

0/1背包问题:从暴力递归到动态规划详解

题目: 有一组数量为 n 个物品,每个物品都有重量w 和价值v 给定一个背包bag,背包装的物品不能超过背包最大载重容量返回背包bag 能装下的最大价值1. 物品的重量和价值:2. 背包的容量:暴力解法的核心是递归,通过逐一决策每个物品是否放入背包,最终找到最优解。状态定义:递归逻辑:递归终止条件: 动态规划解法 递归的暴力解法有重复子问题,导致了大量的重复计算。为了解决这个问题,我们可以使用动态规划来优化。状态定义:状态转移:边界条件: 测试方法 示例解析 假设:我们希望找到在容量为

Mr.Ayao's blog 2065

EXCEL实现分层自定义比例随机抽样(图+文教程)

EXCEL实现分层自定义比例随机抽样(图+文教程) 单一字段分层自定义比例随机抽样 多字段分层自定义比例随机抽样 单一字段分层自定义比例随机抽样 首先数据源如下,我们想随机抽张三的金额数据10%、李四金额20%、王五5%、哈哈15%、李六10% 首先第一步,添加辅助列,随机数 =RAND() 对数据进行高级排序 升序、降序都可以 添加辅助列...

可乐联盟 2万+

MapReduce配置 & YARN集群部署

2:编辑mapred-site.xml;1:编辑mapred-env.sh;3:编辑yarn-env.sh;分发完成就可以启动YARN的相关进程了。在当前机器也可以单独启动或停止进程。历史服务器启动和停止。

m0_75237906的博客 977

群晖Video Station海报墙插件更新了!手把手教你用c5h12o5插件搞定豆瓣/TMDB搜刮

本文详细介绍了如何使用c5h12o5插件为群晖Video Station配置高效的海报墙系统。该插件支持豆瓣、TMDB等多数据源并行搜刮,智能优先级设置和本地化优化,解决TMDB API失效问题,提升影视库管理体验。包含安装教程、配置策略和高级使用技巧,适合影视爱好者优化NAS媒体库。

weixin_29250403的博客 263

Hadoop 2

yarn配置 1.在 app/hadoop/etc/hadoop/mapred-site.xml 编辑加入 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> 2.在 app/hadoop/etc/hadoop/yarn-site.xml编辑加入 <property&gt

MINAMI373的博客 2522

中国高质量夜间灯光数据

中国高质量夜间灯光数据是CnOpenData与吉林高分遥感应用研究院有限公司合作的数据库 ,基于多源夜间灯光卫星遥感影像,经过科学手段对数据进行降噪、修正、分析统计,以年度、月度为更新频率,以省市县三级行政区划作为统计单元,制作高质量夜间灯光数据。

Sunny9qx的博客 3305

撸毛笔记-朴朴超市 v1.01

朴朴超市 v1.01脚本地址:自动签到和组队赚朴分, 朴分可以抵扣50%的金额组队瓜分需要4人成团, 每个号每天只能开团和入队各一次每天跑一两次即可使用扫码或自己想办法捉refreshToken扫码获取token: (先微信进入朴朴超市小程序并登录注册过账号再扫码)把获取的refreshToken和备注(非必须)填到文件pupuCookie.txt里(第一次运行会自动创建), 多账号换行或&或@隔开。

xiaoshun007的专栏 1804

关于MapReduce和YARN的认识

一键启动YARN集群: $HADOOP_HOME/sbin/start-yarn.sh会基于yarn-site.xml中配置的yarn.resourcemanager.hostname来决定在哪台机器上启动resourcemanager会基于workers文件配置的主机启动NodeManager 一键停止YARN集群: $HADOOP_HOME/sbin/stop-yarn.sh在当前机器,单独启动或停止进程。

fly66666666的博客 1230

企业财务共享服务中心业务蓝图规划方案【附全文阅读】

《企业财务共享服务中心业务蓝图规划方案》为集团企业提供财务共享中心建设全流程指导,涵盖战略定位、组织架构、业务流程、信息系统、运营管理和变革实施六大维度。方案明确共享中心"交易处理+战略支撑"双重职能,设计专业分组架构,筛选标准化高、价值明确的流程(如核算、资金结算等)纳入共享范围,构建业财一体化平台,并配套绩效与风险管控体系。结合项目型企业管理特点,分阶段推进实施,助力企业实现财务集中化与标准化转型。

cdfunlove的博客 994

MapReduce和YARN

MapReduce是hadoop三大组件之一,是分布式计算组件Map阶段 : 将数据拆分到不同的服务器后执行Maptask任务,得到一个中间结果Reduce阶段 : 将Maptask执行的结果进行汇总,按照Reducetask的计算 规则获得一个唯一的结果我们在MapReduce计算框架的使用过程中,我们只需要关注,Map任务的规则,和Reduce任务的规则即可MapReduce的核心思想是: 先分(Map)再和(Reduce)思考: MapReduce中hadoop服务帮我们完成了什么???

weixin_65434097的博客 958

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

MapReduce和yarn的联系

MapReduce和yarn 1.Mapreduce是什么? Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架; Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上; inputFormat:MapReduce框架使用InputFormat模块做Map前的预处...

Alano1994的博客 3241

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

MapReduce配置和Yarn的集群部署

MapReduce配置和Yarn的集群部署以及MapReduce程序运行示例

ichterry的专栏 1410

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

YARN和MapReduce的内存设置参考

如何确定Yarn中容器Container,Mapreduce相关参数的内存设置,对于初始集群,由于不知道集群的类型(如CPU密集、IO密集还是网络密集)我们需要根据经验提供给我们一个参考配置值,来作为基础的配置。完成这一任务有两种方式,确定YARN和MapReduce的内存设置,我们可以使用HDP工具脚本进行内存配置设定运行hdp-configuration-utils.py 这个Python脚本

数据之路 9311

MapReduce和Yarn部署+入门

看的黑马视频记的笔记。

qq_54828577的博客 945

YARN集群 和 MapReduce 原理及应用

MapReduce 是一种分布式编程模型,最初由 Google 提出并在学术论文中公开描述,后来被广泛应用于大规模数据处理,尤其是 Apache Hadoop 等开源项目中实现了这一模型。MapReduce 的核心思想是将复杂的大量数据处理任务分解成两个主要阶段:Map(映射)阶段和 Reduce(归约)阶段。Map(映射)阶段将输入数据集划分为独立的块。对每个数据块执行用户自定义的 map 函数,该函数将原始数据转换为一系列中间键值对。输出的结果是中间形式的键值对集合,这些键值对会被排序并分区。

zp8126的专栏 1640

MapReduce1和YARN(MapReduce2)运行机制

在hadoop1.x中,通过设置mapred.job.tracker来决定执行mapreduce机制,如果设置为local,则使用本地的作业运行器,如果设置为主机和端口号,则这个地址被解析为一个jobtracker地址,运行器则将作业提交给jobtracker。 在hadoop2.x中,mapreduce运行在YARN上,通过mapreduce.framework.name属性设置,local表

匆匆那些年 4193

MapReduce和yarn集群

MapReduce和yarn集群  背景:我们在对HDFS上的文件进行操作的时候,之前我们需要通过先将原来的文件进行下载,在本地上进行编码运行和调试,再改文件并将其传入到hdfs中,但是这样的操作给我们带来了很多的不便。以下介绍通过框架MapReduce和yarn集群对HDFS上的数据进行操作。  MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和...

qq_41425382的博客 331

Mapreduce原理和YARN

MapReduce定义 MapReduce是一种分布式计算框架,由Google公司2004年首次提出,并贡献给Apache基金会。 MR版本 MapReduce 1.0,Hadoop早期版本(只支持MR模型) MapReduce 2.0,Hadoop 2.X版本(引入了YARN资源调度框架后,除了支持MR,还支持其他计算模型 MR V1 执行流程 JobTracker一直在等待JobClient提交作业; TaskTracker每隔3秒向 JobTracker发送心跳heartbeat询问有没有任

weixin_44560620的博客 456

MapReduce和YARN理论知识

MapReduce和YARN技术原理MapReduce基本定义MapReduce特点MapReduce工作流程概述MapReduce逻辑过程MapReduce角色MapReduce1.0的缺陷MapReduce扩展YARN概述YARN任务调度流程MapReduce On YARN任务调度流程YARN 的高可靠性YARN 容错机制 MapReduce基本定义 MapReduce是面向大数据并行处理的计算模型、框架、平台。 MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastru

JA0000的博客 855

Hadoop中Yarn和Mapreduce

yarn Yet Another Resource Negotiator, 另一种资源协调者 通用资源管理系统 为上层应用提供统一的资源管理和调度,为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处 YARN的架构和执行流程 ResourceManager: RM 资源管理器 1、整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度, 2、处理客户端的请求: submit, kill监控我们的NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉我们的AM来如何进行处理 Node

__Miracle__ 312
上一篇: MapReduce排序过程详解
下一篇: CentOS7 Hadoop 2.7.3 Hive 2.1.1
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值