`
QING____
  • 浏览: 2234721 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

YARN架构[官网整理]

 
阅读更多

【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),即可运行。

  • 大小: 34.6 KB
分享到:
评论

相关推荐

    五种大数据架构简介.pdf

    五种⼤数据架构简介 ⼤数据是收集、整理、处理⼤容量数据集,并从中获得见解所需的⾮传统战略和技术的总称。虽然处理数据所需的计算能⼒或存储容量早已 超过⼀台计算机的上限,但这种计算类型的普遍性、规模,以及...

    2015 中国大数据技术大会 PPT完整合集(含spark架构师辛提ppt)

    的,但是我发现整理这些资源竟然整整花了我超过一个小时,而且原先地址的资源有 些不能下载,我是千方百计找到所有的ppt,做个合集方便大家,节约大家的时间吧, 以下正题! 2015 中国大数据技术大会已经圆满落幕...

    JAVA面试题及知识点整理

    Spring原理、微服务架构、Netty与RPC、网络相关、日志相关、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负载均衡相关、数据库理论、一致性算法讲解、JAVA基础算法、数据结构、加密算法、...

    Spark-Core学习知识笔记整理

    Spark-Core文档是本人经三年总结笔记汇总而来,对于自我学习Spark核心基础知识非常方便,资料中例举完善,内容丰富。具体目录如下: 目录 第一章 Spark简介与计算模型 3 ...2.2 Spark on YARN运行过程 60

    react-mobile-demo:基于react antd-mobile 移动端架构

    移动端web架构安装$ yarn启动$ yarn start浏览器访问:生产构建$ yarn build相关准备Routes,使用的是less需要先安装less依赖,style-loader css-loader 这两项依赖 css用$ yarn add less-loaderwebpack配置css/less/...

    Stepping.js——两步完成前后端分离架构设计

    一周前,参加了公司的一个架构设计与建模的工作坊——『事件风暴』。从某种意义上来说,这是一个关于架构设计与软件建模的工作...步骤一:安装Stepping为了使用Stepping,我们需要先安装Stepping,可以能过yarn或者npm

    blabla-monorepo:具有Yarn v2工作区,Nix,Docker的Monorepo

    这是使用Yarn v2工作区和Nix的“ Blabla”组织的示例monorepo。 要求 使用Nix管理开发环境以轻松实现本机依赖 我们可以在主机系统上进行开发,并使用相同的可复制依赖集进行部署。 这最大程度地减少了意外,同时...

    vue-large-app-es:vue大型前端应用架构实践

    vue-large-app-es 项目设置 yarn install 编译和热重装以进行开发 yarn serve 编译并最小化生产 yarn build 运行单元测试 yarn test:unit 整理和修复文件 yarn lint 自定义配置 请参阅。

    h2o-sys:h2o商城管理系统

    从零架构,结构清晰,逻辑清晰 主要技术 vue@2.0 + vuex + vue路由器+ axios +元素+ scss + websocket 项目预览 连接文档 h2o商城移动端 h2o预设节点代码 私信 有任何问题或者技术可以找我沟通,加我QQ:791618513,...

    crypto-wallet

    交易清单应用 构建一个使用此仓库中的模拟端点的React应用程序,以按时间顺序降序在单个列表中获取并显示所有用户交易(BTC,ETH,保管/法定)。 使用React,Redux和TypeScript制作...在单仓库架构中重组客户端和服务

    大数据学习计划.pdf

    理解并实现 Hadoop YARN 的多 租户架构 掌握 Zookeeper 组件原理; 掌握 Hadoop 集群优化路径; 3 传统数据仓库在⾯对更⼤规模数据时显得⼒不从⼼,在寄希望于⼤数据平台时,MapReduce 编程门槛让很多数据分析师望⽽...

    graphql-eslint:ESLint解析器,GraphQL的插件和设置规则(用于模式和操作)。使用自定义规则可轻松自定义。与IDE和现代GraphQL工具集成

    :rocket:在GraphQL架构和GraphQL操作之间验证,整理,整理和检查最佳实践。 :rocket:与集成 :rocket:集成并可视化流行的IDE(VSCode / WebStorm)中的棉绒问题特别感谢在类似项目中的工作!入门 @ the-guild.dev...

    react-native-starter-kit:一个React Native样板应用程序,可非常快速地启动和运行

    助焊剂架构 Redux包装器:重新 路由和导航用于本地移动导航 数据缓存/离线 UI工具包适用于本机移动的本 代码整理指南 部署策略 启动画面+资产 :rocket: 入门 安装并在运行应用程序之前打开 将eslint , prettier...

Global site tag (gtag.js) - Google Analytics