网站首页 > 博客文章 正文
本期给大家带来的是Yarn的工作原理相关知识点,作为大数据开发中众多框架中的一个,Yarn为什么会如此重要以至于要单独开一期来说?下面就为你揭晓Yarn的工作原理!
一、什么是Yarn?
从业界使用分布式系统的变化趋势和Hadoop框架的长远来看,MapReduce的JobTracker和TaskTracker机制需要大规模的调整来修复它在可扩展性、内存消耗、可靠性和性能上的缺陷。
为了从跟根本上解决上述问题,从Hadoop0.23.0版本开始,MapReduce框架完全重构,并把新的框架命名为YARN。
核心思想:将MP1中JobTracker的资源管理和作业调度两个功能分开,分别由ResourceManager和ApplicationMaster进程来实现。
1.ResourceManager:负责整个集群的资源管理和调度。
2.ApplicationMaster:负责应用程序相关的事务,比如任务调度、任务监控和容错等。
YARN的出现,使得多个计算框架可以运行在一个集群当中。
1.每个应用程序对应一个ApplicationMaster。
2.目前可以支持多种计算框架运行在YARN上面比如MapReduce、Storm、Spark、Flink等。
大家还是好奇我们学习Yarn的原因,为什么都有了那么多框架了还要学Yarn?
二、MapReduce的不足之处
1.JobTracker单点故障问题;如果Hadoop集群的JobTracker挂掉,则整个分布式集群都不能使用了。
2.JobTracker承受的访问压力大,影响系统的扩展性。
3.不支持MapReduce之外的计算框架,比如Storm、Spark、Flink等。
三、Yarn的优秀之处
1.Hadoop2.0提出了HDFSFederation;它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展。对于运行中NameNode的单点故障,通过 NameNode热备方案(NameNode HA)实现 。
2. YARN通过将资源管理和应用程序管理两部分剥离开来,分别由ResourceManager和ApplicationMaster进程来实现。其中,ResouceManager专管资源管理和调度,而ApplicationMaster则负责与具体应用程序相关的任务切分、任务调度和容错等。
3.YARN具有向后兼容性,用户在MR1上运行的作业,无需任何修改即可运行在YARN之上。
4.对于资源的表示以内存为单位(在目前版本的 Yarn 中没有考虑 CPU的占用),比之前以剩余 slot 数目为单位更合理。
5.支持多个框架,YARN不再是一个单纯的计算框架,而是一个框架管理器,用户可以将各种各样的计算框架移植到YARN之上,由YARN进行统一管理和资源分配,由于将现有框架移植到YARN之上需要一定的工作量,当前YARN仅可运行MapReduce这种离线计算框架。
6.框架升级容易,在YARN中,各种计算框架不再是作为一个服务部署到集群的各个节点上(比如MapReduce框架,不再需要部署JobTracker、 TaskTracker等服务),而是被封装成一个用户程序库(lib)存放在客户端,当需要对计算框架进行升级时,只需升级用户程序库即可。
以前MapReduce的不足之处都让现在的Yarn弥补了,并且还带了新的优点,这怎能让人忽视它的功能性?
本期内容就是以上这些了,大数据开发的学习之路框架多多,但每一个学习的都是有自己用处的,都是必须要学习的。
希望大家点个关注,及时收取最新文章推送,想了解更多敬请咨询加米谷大数据。
有问题的欢迎在评论区留言,如有侵权请告知。
猜你喜欢
- 2024-10-14 国庆期间别偷懒,大数据平台只差YARN了
- 2024-10-14 为什么我们从Yarn切换到pnpm(yarn设置淘宝镜像)
- 2024-10-14 flink的yarn模式部署(flink的三种部署方案)
- 2024-10-14 yarn的安装和使用(yarn安装教程)
- 2024-10-14 yarn 的安装和使用(yarn安装教程)
- 2024-10-14 操作学习-Spark on Yarn(spark on yarn执行流程)
- 2024-10-14 全面解析:Hadoop基础——YARN(hadoop yarn工作原理)
- 2024-10-14 Node简史及好书推荐(nodejs相关书籍)
- 2024-10-14 大数据之-Hadoop3.x_Yarn_常用命令---大数据之hadoop3.x_0147
- 2024-10-14 大数据系列文章之Yarn组件及其执行流程
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)