Yarn (转自之乎者也)
链接:https://www.zhihu.com/question/34016617/answer/57822812
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Yarn设计的初衷就是为了在同一套集群上面跑不同的应用框架。至于为什么要在同一套集群上面跑不同的应用则是出于提高集群资源利用率的角度考虑的。
不同的分布式框架各有优势,针对的业务场景是不一样的。MapReduce能更好的处理大批量的ETL业务而Spark则相对更为专注于Machine Learning。对于公司而言,这些业务如果能在同一集群上面跑则能有效降低成本。要允许不同框架同时运行在同一集群,最首要解决的问题就是如何分配资源。在没有Yarn的时候,一个比较简单的做法是,假设集群有100台机器,我们将50台机器分配给Spark,将另外50台分配给MapReduce任务。这样做似乎并没什么不妥。但是假设每天我们跑MapReduce的任务时间只有1小时,其他大部分时间都是在跑Spark,那么一天里面有23小时,50台机器都处于空闲状态,而Spark的机器则很可能有大量的作业在排队。这显然不是一个很有效利用集群的方法。
Yarn全称为Yet Another Resource Negotiator。 顾名思义,他就是一个资源管理工具。在全局范围里面,他知道集群有哪些空闲的机器。当用户提交作业时,Yarn只需要分配用户要求的资源,然后由作业自身去调用,配置和管理相应的运算框架。这样可以有效地避免上面提到的问题。再进一步说,Yarn将可分配的资源抽象为容器(Container),降低了资源分配的粒度。假如一台机器上面资源足够,则可能同时运行Spark和MapReduce两种作业。进一步提高了资源的利用率。
Yarn (转自之乎者也)的更多相关文章
- 大数据之Yarn——Capacity调度器概念以及配置
试想一下,你现在所在的公司有一个hadoop的集群.但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求.那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这 ...
- [大数据之Yarn]——资源调度浅学
在hadoop生态越来越完善的背景下,集群多用户租用的场景变得越来越普遍,多用户任务下的资源调度就显得十分关键了.比如,一个公司拥有一个几十个节点的hadoop集群,a项目组要进行一个计算任务,b项目 ...
- Node.js包管理器Yarn的入门介绍与安装
FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...
- 03 Yarn 原理介绍
Yarn 原理介绍 大纲: Hadoop 架构介绍 YARN 产生的背景 YARN 基础架构及原理 Hadoop的1.X架构的介绍 在1.x中的NameNodes只可能有一个,虽然可以通过Se ...
- Spark on YARN的部署
Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on ...
- yarn关于app max attempt深度解析,针对长服务appmaster平滑重启
在YARN上开发长服务,需要注意fault-tolerance,本篇文章对appmaster的平滑重启的一个参数做了解析,如何设置可以有助于达到appmaster平滑重启. 在yarn-site.xm ...
- Spark源码编译并在YARN上运行WordCount实例
在学习一门新语言时,想必我们都是"Hello World"程序开始,类似地,分布式计算框架的一个典型实例就是WordCount程序,接触过Hadoop的人肯定都知道用MapRedu ...
- 配置Spark on YARN集群内存
参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默 ...
- 【hadoop2.2(yarn)】基于yarn成功执行分布式map-reduce,记录问题解决过程。
hadoop2.x改进了hadoop1.x的架构, 具体yarn如何工作以及改进了什么可以在网上学, 这里仅记录我个人搭建的问题和理解,希望能帮助遇到困难的朋友. 在开始前,必须了解yarn版本的ma ...
随机推荐
- jquery预加载显示百分比
jquery预加载显示百分比 <pre> <img class="bj loadimg" loadimg="/weiqingshu/images/1/b ...
- OI总结
当下考的钟声叮当响起,该走了,一年半的OI竞赛就此结束 留下了很多遗憾.也拥有过一段美好的竞赛生活 结识了一群优秀的OI战友,一起进步一起开心一起忧愁,但这一切的一切都将在今晚变成过去式,CSp的好与 ...
- Linux下使用matlab在后台默默的运行.m文件(无界面形式)
Linux下使用matlab在后台默默的运行.m文件(无界面形式)本主在Ubuntu18.04LTS上已经安装了matlab直接运行Matlab$ matlab会启动 matlab,出现启动界面但想要 ...
- Zookeeper的典型应用场景(转)
在寒假前,完成了Zookeeper系列的前5篇文章,主要是分布式的相关理论,包括CAP,BASE理论,分布式数据一致性算法:2PC,3PC,Paxos算法,Zookeeper的相关基本特性,ZAB协议 ...
- pytest_04_测试用例setup和teardown
学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次. 当然还有更高级一点的setupClass和teardownClass,需配合@ ...
- MPAndroid 的学习
1.MPAndroid 的github的地址: https://github.com/PhilJay/MPAndroidChart#documentation 2.使用步骤: 在build.gradl ...
- 混沌理论(Chaos theory)和非线性系统
混沌理论(Chaos theory)是关于非线性系统在一定参数条件下展现分岔(bifurcation).周期运动与非周期运动相互纠缠,以至于通向某种非周期有序运动的理论.在耗散系统和保守系统中,混沌运 ...
- sublime中Vue高亮插件安装
1.准备语法高亮插件vue-syntax-highlight. 下载地址: https://github.com/vuejs/vue-syntax-highlight 下载页面并下载: 解开压缩包vu ...
- mysql DCL数据控制语言
-- 维护性操作 都是在cmd下操作的连接数据库: 本机:mysql [-h localhost] -u account -p 远程:mysql [-h remote_ ...
- 使用IDEA运行项目时提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除
如图 在使用IDEA运行项目时,在下方提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除 这是因为JDK版本问题 解决方法如下:左上角 file ——> Projec ...