【MapReduce Yarn架构(2.2+)】
Mapreduce经过hadoop-0.23的修正之后,有了新的框架Mapreduce 2.0(MRv2),或者成为YARN。
MRv2的基本思想就是将JobTracker的两个功能拆分成resourceManager和job Scheduling/monitoring两个独立的守护进程。这个思想是有一个全局的ResourceManager(RM)和每个应用(application)一个ApllicationMaster(AM)。application可以是一个传统意义上的mapreduce的job或者jobs的DAG(多个job形成的有向关系图)。
ResourceManager和多个称为NodeManagers的slave最终构成了YARN的计算框架。ResourceManager是一个最终的仲裁者,用来管理系统的所有applications。
per-application ApplicationMasger事实上是框架的特定的library,主要用来与ResourceManager协商资源(jobs)并任务化,将这些资源将在NodeManager上运行,然后跟踪tasks
ResourceManager有两个主要的组件:Scheduler和ApplicationManager。
Scheduler负责将资源(resources)分配给正在运行的applications,它们(applications)受到capacities或者queues等的限制。Scheduler是意义纯粹的Scheduler,它不运行任何monitoring或者tracking应用的状态。此外,当application失效时,它不提供重启失效tasks的担保。Scheduler根据applicaton对资源的需求来运行它的调度功能;它基于一个抽象的概念“Resource Containner”来实现(资源调度),其中“Resource Container”有“内存”、“磁盘”、“CPU”、“networker”等组成(resource),目前只支持“menory”。
Scheduler有一个可插拔的策略插件,它的职责是将集群的资源在多个queues、applications间划分,当前的MapReducer Scheduler有CapacityScheduler、FairScheduler。
The CapacityScheduler supports hierarchical queues to allow for more predictable sharing of cluster resources.[CapacityScheduler支持多级queue,以允许更多可预测的集群资源共享]
ApplicationManager的职责是接受来自Client端的job-submissions,为每个Application(job)创建一个Container来运行ApplicationMaster,然后提供一个服务,当ApplicationMasters失效时重启它们。
NodeManager是运行在每个机器上的agent,它的职责就是为application(的task,每个application有AM拆分为多个tasks)创建containers,监控它们的资源使用情况,并把他们的情况报告给ResouceManager/Scheduler。(Scheduler知道每个NodeManager上的资源分配情况后,就可以动态的为后续的application分配资源。)
per-application ApplicationMaster的职责为从Scheduler中协调获取“Resource Containers”,跟踪它们的状态以及监控它们的进度。
MRv2兼容旧版本,这意味着不需要修改mapreduce程序急需要重新编译(使用新API),即可运行。
相关推荐
#### 二、YARN架构概览 YARN主要包括以下几个核心组件: 1. **ResourceManager (RM)**:集群中的中心管理器,负责整个系统的资源管理和调度。 2. **NodeManager (NM)**:每个物理节点上的代理,负责与...
这份技能整理涵盖了大数据架构师所需掌握的核心技术和工具,包括但不限于大数据处理平台、分布式存储、资源调度、机器学习、数据分析与数据仓库、消息队列、流式计算、编程语言、算法以及云计算服务。 1. 大数据...
本套操作手册集合了个人整理的官方文档,涵盖了CDH的安装、配置和管理等多个方面,适用于想要深入理解和掌握CDH架构的用户。 首先,"Cloudera Manager Overview _ 6.1.x _ Cloudera Documentation.pdf"文档详细介绍...
该面试经历涵盖了大数据平台的基础架构、Hadoop升级、HDFS写数据过程、YARN和HDFS源码修改、Paxos算法、QJM和Bookkeeper、Hashmap和ConcurentHashMap、G1垃圾回收器、LRU算法、Kafka、Raft、ZAB和Paxos算法等方面的...
以下是根据给定文件内容整理出的关于大数据架构师应具备的知识点: 1. 云平台和大数据技术栈 大数据架构师需要熟悉主流云服务平台,如谷歌云、亚马逊云(AWS)、阿里云、腾讯云、网易易云、华为云、国双青云、思海...
这份"IT行业技术知识图谱秘籍整理.pdf"涵盖了从架构设计到具体编程语言、从大数据处理到云计算,再到移动应用开发和软件工程等多个关键领域的深度剖析。 1. **架构师图谱**:这是对整个系统架构设计的全面概述,...
学习YARN的基本架构和工作流程,以及如何配置和管理YARN资源。 5. **Hadoop生态**:除了核心的HDFS和MapReduce,Hadoop生态系统还包括HBase、Hive、Pig、Spark等工具。学习指南可能会涵盖这些工具的用途、优点和与...
的,但是我发现整理这些资源竟然整整花了我超过一个小时,而且原先地址的资源有 些不能下载,我是千方百计找到所有的ppt,做个合集方便大家,节约大家的时间吧, 以下正题! 2015 中国大数据技术大会已经圆满落幕...
在深入理解Hadoop源代码之前,我们首先需要对Hadoop的基本架构有所了解。HDFS是一种分布式文件系统,它将大文件分割成多个块,这些块被复制到多台节点上,以提高容错性和可用性。每个节点都是一个DataNode,负责存储...
《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》这本书是针对大数据领域中核心组件Hadoop的深度剖析。Hadoop作为分布式计算的基础框架,其核心主要包括两个部分:Hadoop Common和Hadoop ...
Spark-Core文档是本人经三年总结笔记汇总而来,对于自我学习Spark核心基础知识非常方便,资料中例举完善,内容丰富。具体目录如下: 目录 第一章 Spark简介与计算模型 3 ...2.2 Spark on YARN运行过程 60
移动端web架构安装$ yarn启动$ yarn start浏览器访问:生产构建$ yarn build相关准备Routes,使用的是less需要先安装less依赖,style-loader css-loader 这两项依赖 css用$ yarn add less-loaderwebpack配置css/less/...
7. **故障排查与性能优化**:学习如何诊断Hadoop集群中的问题,以及如何通过调整参数和架构来优化性能。 8. **安全与高可用性**:涵盖Hadoop的安全机制,如Kerberos认证,以及HA(High Availability)设置,确保...
同时,对于"2.jpeg"、"1.jpeg"、"3.jpeg"这些可能包含的图表信息,它们可能展示了具体的架构图、流程图或者问题案例,进一步加深了对这两个技术的理解和应用。在准备面试时,应确保对这些技术有深入的理论基础,同时...
这份“hive官方文档整理”PDF文件,无疑是深入理解Hive功能和用法的宝贵资源。以下是对Hive核心知识点的详细解析: 1. **Hive概述**:Hive是一个基于Hadoop的数据仓库工具,它允许使用SQL-like语言(HQL,Hive ...
2. Hadoop生态系统:包括HDFS(Hadoop Distributed File System)用于分布式存储,MapReduce用于分布式计算,还有YARN(Yet Another Resource Negotiator)作为资源管理器,以及HBase、Pig、Hive等辅助工具。...
《JAVA核心知识点整理》这份资料全面涵盖了Java开发者在面试中可能会遇到的各种问题,从JVM深入剖析到Java集合、多线程开发,再到Spring框架、微服务架构、网络通信、日志管理,以及分布式系统中的关键组件如...
这是使用Yarn v2工作区和Nix的“ Blabla”组织的示例monorepo。 要求 使用Nix管理开发环境以轻松实现本机依赖 我们可以在主机系统上进行开发,并使用相同的可复制依赖集进行部署。 这最大程度地减少了意外,同时...
vue-large-app-es 项目设置 yarn install 编译和热重装以进行开发 yarn serve 编译并最小化生产 yarn build 运行单元测试 yarn test:unit 整理和修复文件 yarn lint 自定义配置 请参阅。