mapreduce yarn(mapreduce,spark和yarn的区别是什么)

2026-04-11 04:30:02 0

mapreduce yarn(mapreduce,spark和yarn的区别是什么)

各位老铁们好,相信很多人对mapreduce yarn都不是特别的了解,因此呢,今天就来为大家分享下关于mapreduce yarn以及mapreduce,spark和yarn的区别是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

mapreduce,spark和yarn的区别是什么

Hadoop
  它是一个分布式系统基础架构,由Apache基金会所开发。
  用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
  Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
  Yarn
  它是Hadoop2.0的升级版。
  Yarn 的优点:
  这个设计大大减小了 JobTracker(也就是现在的 ResourceManager)的资源消耗,并且让监测每一个 Job 子任务 (tasks) 状态的程序分布式化了,更安全、更优美。
  在新的 Yarn 中,ApplicationMaster 是一个可变更的部分,用户可以对不同的编程模型写自己的 AppMst,让更多类型的编程模型能够跑在 Hadoop 集群中,可以参考 hadoop Yarn 官方配置模板中的 mapred-site.xml 配置。
  对于资源的表示以内存为单位 ( 在目前版本的 Yarn 中,没有考虑 cpu 的占用 ),比之前以剩余 slot 数目更合理。
  老的框架中,JobTracker 一个很大的负担就是监控 job 下的 tasks 的运行状况,现在,这个部分就扔给 ApplicationMaster 做了,而 ResourceManager 中有一个模块叫做 ApplicationsMasters( 注意不是 ApplicationMaster),它是监测 ApplicationMaster 的运行状况,如果出问题,会将其在其他机器上重启。
  Container 是 Yarn 为了将来作资源隔离而提出的一个框架。这一点应该借鉴了 Mesos 的工作,目前是一个框架,仅仅提供 java 虚拟机内存的隔离 ,hadoop 团队的设计思路应该后续能支持更多的资源调度和控制 , 既然资源表示成内存量,那就没有了之前的 map slot/reduce slot 分开造成集群资源闲置的尴尬情况。
  Spark
  Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。
他们三个其实也可以说Hadoop发展的几个阶段,目前Spark非常火,是用Scala语言写的。

简述yarn编程过程,再简述mr编程过程,说明二者有何关系

Yarn 和 MapReduce (MR) 都是 Hadoop 的组件,其中 Yarn 是一个资源管理器,而 MR 是一个分布式计算框架。下面分别介绍它们的编程过程和关系:
Yarn 编程过程:
1. 编写 Yarn 应用程序的客户端代码,该代码通常由一个提交 Yarn 应用程序的命令和一些相关的配置参数组成。
2. 在客户端代码中,需要定义 Yarn 应用程序所需要的资源(如 CPU、内存、磁盘等)以及执行的任务数等。
3. 通过客户端代码将应用程序提交给 Yarn,由 Yarn 根据资源需求和调度策略来分配资源,并在集群中启动应用程序的各个任务。
MR 编程过程:
1. 编写 Map 函数和 Reduce 函数。
2. 将数据分割成多个块,并在多个计算节点上开启 Map 任务来处理每个块的数据。
3. Reduce 任务将 Map 产生的中间输出结果进行合并,生成最终的结果。
Yarn 和 MR 的关系:Yarn 提供了一个资源管理器和调度器,可以将多个 MR 任务分配到不同的计算节点上执行,从而实现了分布式计算的功能。由于 MR 常常需要处理大规模的数据,因此需要 Yarn 这样的分布式计算平台来提供资源调度和管理的支持。因此,两者是密不可分的关系。

yarn和mapreduce资源调优

YARN允许用户配置每个节点上可用的物理内存资源,注意,这里是“可用的”,因为一个节点上的内存会被若干个服务共享,比如一部分给YARN,一部分给HDFS,一部分给HBase等,YARN配置的只是自己可以使用的,配置参数如下:
(1)yarn.nodemanager.resource.memory-mb
表示该节点上YARN可使用的物理内存总量,默认是8192(MB),注意,如果你的节点内存资源不够8GB,则需要调减小这个值,而YARN不会智能的探测节点的物理内存总量。
(2)yarn.scheduler.minimum-allocation-mb
单个容器可申请的最少物理内存量,默认是1024(MB),如果一个容器申请的物理内存量少于该值,则该对应的值改为这个数。
(3) yarn.scheduler.maximum-allocation-mb
单个容器可申请的最多物理内存量,默认是8192(MB)

目前的CPU被划分成虚拟CPU(CPU virtual Core),这里的虚拟CPU是YARN自己引入的概念,初衷是,考虑到不同节点的CPU性能可能不同,每个CPU具有的计算能力也是不一样的,比如某个物理CPU的计算能力可能是另外一个物理CPU的2倍,这时候,你可以通过为第一个物理CPU多配置几个虚拟CPU弥补这种差异。用户提交作业时,可以指定每个任务需要的虚拟CPU个数。在YARN中,CPU相关配置参数如下:
(1)yarn.nodemanager.resource.cpu-vcores
表示该节点上YARN可使用的虚拟CPU个数,默认是8,注意,目前推荐将该值设值为与物理CPU核数数目相同。如果你的节点CPU核数不够8个,则需要调减小这个值,而YARN不会智能的探测节点的物
理CPU总数。
(2)yarn.scheduler.minimum-allocation-vcores
单个容器可申请的最小虚拟CPU个数,默认是1,如果一个容器申请的CPU个数少于该数,则该对应的值改为这个数
(3)yarn.scheduler.maximum-allocation-vcores
单个容器可申请的最多虚拟CPU个数,默认是4

3.mapreduce---Memory调优
(1)yarn.app.mapreduce.am.resource.mb
MR AppMaster需要的内存,默认是1536M
(2)yarn.app.mapreduce.am.command-opts
MR AppMaster的Java opts ,默认是 -Xmx1024m
(3)mapreduce.map.memory.mb
每个map task所需要的内存,默认是1024M。应该是大于或者等于Container的最小内存
(4)mapreduce.reduce.memory.mb
每个reduce task所需要的内存,默认是1024M
(5)mapreduce.map.java.opts
map task进程的java.opts,默认是 -Xmx200m
(6)mapreduce.reduce.java.opts
reduce task进程的java.opts,默认是 -Xmx200m

特别注意:
mapreduce.map.memory.mb 》mapreduce.map.java.opts
mapreduce.reduce.memory.mb 》mapreduce.reduce.java.opts
mapreduce.map.java.opts / mapreduce.map.memory.mb
=0.70~0.80
mapreduce.reduce.java.opts / mapreduce.reduce.memory.mb
=0.70~0.80
在yarn container这种模式下,JVM进程跑在container中,mapreduce.{map|reduce}.java.opts 能够通过Xmx设置JVM最大的heap的使用,
一般设置为0.75倍的memory.mb,

则预留些空间会存储java,scala code等

4.mapreduce---CPU调优
(1)mapreduce.map.cpu.vcores
map task的虚拟核数,默认为1
(2)mapreduce.reduce.cpu.vcores
reduce task的虚拟核数,默认为1
(3)yarn.app.mapreduce.am.resource.cpu-vcores
am的虚拟核数,默认为1

假设机器的物理配置 64G 16cores
装完系统还剩 62G
预留15~20% 14G:DN 4G + NM 1G=5G 9G

DN进程: 生产4G
1000m
hadoop-env.sh
HADOOP_NAMENODE_OPTS=-Xmx1024m
HADOOP_DATANODE_OPTS=-Xmx4096m
NM进程: 生产1G
yarn-env.sh
export YARN_RESOURCEMANAGER_HEAPSIZE=1024
export YARN_NODEMANAGER_HEAPSIZE=1024
部署同一台: 数据本地化
NN RM 经常性部署同一台 说白了 集群节点少

yarn.nodemanager.resource.memory-mb : 48G 计算总内存 固定经验计算值
yarn.nodemanager.resource.cpu-vcores : 24

yarn.scheduler.minimum-allocation-mb : 4G
yarn.scheduler.minimum-allocation-vcores: 2

yarn.scheduler.maximum-allocation-mb : 8G
yarn.scheduler.maximum-allocation-vcores : 4 固定经验值(不要超过5个)

***隐藏网址***
***隐藏网址***

关于mapreduce yarn,mapreduce,spark和yarn的区别是什么的介绍到此结束,希望对大家有所帮助。

mapreduce yarn(mapreduce,spark和yarn的区别是什么)

本文编辑:admin

更多文章:


html按钮的类型(html编程里的界面设置按钮类型,如下图的描述,该如何编写点击上排的按钮,在下面显示内容,不换网页)

html按钮的类型(html编程里的界面设置按钮类型,如下图的描述,该如何编写点击上排的按钮,在下面显示内容,不换网页)

大家好,如果您还对html按钮的类型不太了解,没有关系,今天就由本站为大家分享html按钮的类型的知识,包括html编程里的界面设置按钮类型,如下图的描述,该如何编写点击上排的按钮,在下面显示内容,不换网页的问题都会给大家分析到,还望可以解

2026年2月22日 20:45

为什么爬虫都用python(为什么写爬虫都喜欢用python)

为什么爬虫都用python(为什么写爬虫都喜欢用python)

各位老铁们,大家好,今天由我来为大家分享为什么爬虫都用python,以及为什么写爬虫都喜欢用python的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文

2025年8月4日 14:00

anticipate的同义词(怎样记住单词anticipate)

anticipate的同义词(怎样记住单词anticipate)

今天给各位分享怎样记住单词anticipate的知识,其中也会对怎样记住单词anticipate进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎样记住单词anticipatelook forward to d

2026年3月15日 20:30

vlookup函数的功能和用法(vlookup函数的主要功能是什么)

vlookup函数的功能和用法(vlookup函数的主要功能是什么)

各位老铁们好,相信很多人对vlookup函数的功能和用法都不是特别的了解,因此呢,今天就来为大家分享下关于vlookup函数的功能和用法以及vlookup函数的主要功能是什么的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧

2025年11月6日 22:15

需要用到volatile的场合(java volatile在什么场景下适用)

需要用到volatile的场合(java volatile在什么场景下适用)

本篇文章给大家谈谈需要用到volatile的场合,以及java volatile在什么场景下适用对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文

2026年6月3日 11:15

随机数公式带小数点(excel随机带一位小数)

随机数公式带小数点(excel随机带一位小数)

本篇文章给大家谈谈随机数公式带小数点,以及excel随机带一位小数对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录excel随机带一位小数如

2026年4月24日 01:15

java对象就是变量吗(Java基本类型的变量是否是对象)

java对象就是变量吗(Java基本类型的变量是否是对象)

大家好,关于java对象就是变量吗很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于Java基本类型的变量是否是对象的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助

2026年5月23日 02:45

order by原理(oracle中在in子查询语句中order by排序能否用)

order by原理(oracle中在in子查询语句中order by排序能否用)

各位老铁们,大家好,今天由我来为大家分享order by原理,以及oracle中在in子查询语句中order by排序能否用的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,

2025年7月25日 15:00

jav hdxrw(jAVHDc0M丁uB8 m.tub8为什么找不到一答案.me)

jav hdxrw(jAVHDc0M丁uB8 m.tub8为什么找不到一答案.me)

“jav hdxrw”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看jav hdxrw(jAVHDc0M丁uB8 m.tub8为什么找不到一答案.me)!本文目录jAVHDc0M丁uB8 m.tub8为什么找不到一答案.me

2026年5月16日 08:45

extension strategy(jdbc链接oracle网络适配器问题)

extension strategy(jdbc链接oracle网络适配器问题)

本篇文章给大家谈谈extension strategy,以及jdbc链接oracle网络适配器问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录jdbc链接oracle网络适配器问题什么是Brand_extension_st

2025年11月5日 14:45

c 语言 输入(如何输入键盘数组c语言)

c 语言 输入(如何输入键盘数组c语言)

本篇文章给大家谈谈c 语言 输入,以及如何输入键盘数组c语言对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录如何输入键盘数组c语言在C语言中,汉字怎么输入c语言实现从键盘上输入10个数,并输出c语言输入字符串scanfC语言中

2025年10月26日 22:00

织梦内容管理系统打开要什么(织梦内容管理系统打开时怎么那么慢)

织梦内容管理系统打开要什么(织梦内容管理系统打开时怎么那么慢)

大家好,如果您还对织梦内容管理系统打开要什么不太了解,没有关系,今天就由本站为大家分享织梦内容管理系统打开要什么的知识,包括织梦内容管理系统打开时怎么那么慢的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录织梦内容管

2026年2月23日 22:15

ueditor上传图片写入数据库(ueditor富文本编辑器上传图片怎么配置)

ueditor上传图片写入数据库(ueditor富文本编辑器上传图片怎么配置)

各位老铁们好,相信很多人对ueditor上传图片写入数据库都不是特别的了解,因此呢,今天就来为大家分享下关于ueditor上传图片写入数据库以及ueditor富文本编辑器上传图片怎么配置的问题知识,还望可以帮助大家,解决大家的一些困惑,下面

2025年12月7日 11:00

小面包字体ttf(TTF字体上下间距如何调小)

小面包字体ttf(TTF字体上下间距如何调小)

本篇文章给大家谈谈小面包字体ttf,以及TTF字体上下间距如何调小对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录TTF字体上下间距如何调小TTF格式的字体怎么做后缀名为ttf的是什么文件怎么做自己的TTF文件后缀为TTF或T

2026年1月11日 04:15

培训学校名字(职业培训学校起名字 有文化的机构好名)

培训学校名字(职业培训学校起名字 有文化的机构好名)

其实培训学校名字的问题并不复杂,但是又很多的朋友都不太了解职业培训学校起名字 有文化的机构好名,因此呢,今天小编就来为大家分享培训学校名字的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录职业培训学校起名字 有文化

2026年2月13日 23:45

使用md5后能不能破解(用MD5加密后的字段有反解密的方法吗)

使用md5后能不能破解(用MD5加密后的字段有反解密的方法吗)

今天给各位分享用MD5加密后的字段有反解密的方法吗的知识,其中也会对用MD5加密后的字段有反解密的方法吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录用MD5加密后的字段有反解密的方法吗MD5可以破解论坛的密

2025年10月15日 18:00

程序员都用什么语言(编程都有哪些语言)

程序员都用什么语言(编程都有哪些语言)

大家好,今天小编来为大家解答以下的问题,关于程序员都用什么语言,编程都有哪些语言这个很多人还不知道,现在让我们一起来看看吧!本文目录编程都有哪些语言作为一个程序员,至少需要掌握哪几种编程语言现在的程序员需要学习什么语言编程都有哪些语言学编程

2025年10月31日 19:45

移动web开发(移动web开发和html5开发有什么不同)

移动web开发(移动web开发和html5开发有什么不同)

其实移动web开发的问题并不复杂,但是又很多的朋友都不太了解移动web开发和html5开发有什么不同,因此呢,今天小编就来为大家分享移动web开发的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录移动web开发和h

2025年6月10日 22:15

hen怎么读音发音英语怎么读(hen怎么读)

hen怎么读音发音英语怎么读(hen怎么读)

大家好,hen怎么读音发音英语怎么读相信很多的网友都不是很明白,包括hen怎么读也是一样,不过没有关系,接下来就来为大家分享关于hen怎么读音发音英语怎么读和hen怎么读的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本

2026年7月17日 03:30

shiro框架特征(oauth3 和shiro的区别)

shiro框架特征(oauth3 和shiro的区别)

大家好,shiro框架特征相信很多的网友都不是很明白,包括oauth3 和shiro的区别也是一样,不过没有关系,接下来就来为大家分享关于shiro框架特征和oauth3 和shiro的区别的一些知识点,大家可以关注收藏,免得下次来找不到哦

2026年5月5日 21:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索