yarn的介绍

hongtenglong 2018-07-19 原文

yarn的介绍

首先我们先了解一下hadoop1.0版本和hadoop2.0版本的区别。

在hadoop1.0中只有两个模块 hdfs  和  mapReduce

  hdfs负责存储

  mapReduce 负责计算

 

在hadoop1.0中 所有计算相关的 全部放到了mapReduce上

    mapReduce在运行的时候有两个进程 jobtracker 和 tasktracker

      jobtracker:是整个计算程序的主节点(老大)

             负责进行资源调度(没有资源调度策略,随机调度)

             还负责监控程序运行的状态,对运行失败的应用程序进行重启

             存在单点故障问题,不支持高可用,如果jobtracker宕机了,整个程序就运行不了了

      tasktracker:负责计算程序的执行

            会强行的将计算资源分成两部分  mapslot 和 reduceslot, map任务只能运行在mapslot中,reduce任务只能运行在reduceslot中,当一个应用程序只需要运行map任务

          不需要运行reduce任务的时候,就会造成资源浪费。

            而且这一部分资源没有划分CPU、IO或者网络

所以hadoop1.0中存在着致命的缺陷

  1)单点故障问题

  2)所有的资源调度是随机的,会造成资源浪费

  3)jobtracker的运行压力过大

 

 

 

hadoop2.0进行了改进,将maperduce分成了两部分mapreduce和yarn

  yarn专门负责程序的资源调度

  yarn的概念:

    yarn再启动的时候会有两个进程

      resourcemanager:整个资源调度的老大

        1)负责接收客户端的请求 这个请求时程序运行的请求

        2)接受nodemanager的状态报告,这个状态报告包括nodenamager的资源状态和存活状态

        3)负责整个计算程序的资源调度   调度的运行资源的多少 和  在哪个节点上运行

      nodemanager:负责真正的提供资源  运行计算程序

        1)接收resourcemanager的命令

        2)提供资源运行计算程序

 

  yarn启动计算及资源调度概念:
    MRAppMaster:单个计算程序的老大   负责帮助当前计算程序向resourcemanager申请资源,
            负责启动maptask任务和reducetask任务 负责监控maptask和reducetask的运行进度
            类似于项目经理

    ASM:applicationsmanager 所有应用程序的管理者  负责调度应用程序

    container:抽象资源容器 封装着一定的cpu io 和网络等资源

    是运行maptask reducetask等的运行资源单位

    1个split对应一个1个maptask  1个maptask分配1个container     1个container在进程中显示的就是1个yarnchild

    scheduler:调度器  调度的是什么时候执行哪个计算程序
      调度器:
        1)FIFO:first in first out 先进先出
        先提交的程序先执行 后提交的程序后执行
        内部维护一个队列

        2)FAIR:公平调度器:

        大家平分资源运行

        假设刚开始只有一个任务 占资源100%

        这时候又来了一个任务 每人占50%

        内部维护一个队列

 

        3)CAPICITY:计算能力调度器:

        可以按需进行配置使用资源:

        内部可以维护多个队列,多个队列之间可以进行资源分配

        在每个队列中都是执行先进先出的

 

发表于 2018-07-19 00:05 Bazinga32 阅读() 评论() 编辑 收藏

 

版权声明:本文为hongtenglong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hongtenglong/p/9333468.html

yarn的介绍的更多相关文章

随机推荐

  1. 通过OSG实现对模型的日照模拟

    通过一个对太阳光照模拟的具体实例,逐步介绍了OSG中光照和阴影的生成过程。 目录 1. 加载模型 2. 光照 […]...

  2. .NET 下 模拟数组越界

    前面一篇文章提到过 数组越界行为,虽然编译器为我们做了大量的检查工作让我们避免这些错误。 但是我觉得还是有必要 […]...

  3. Eureka 源码分析之 Eureka Server

    文章首发于公众号《程序员果果》 地址 : https://mp.weixin.qq.com/s/FfJrAGQ […]...

  4. PHP文件PHP代码及运行(适合PHP初学者)

    本文转自:https://blog.csdn.net/cnds123/article/details/8070 […]...

  5. MYSQL数据库间同步数据

    http://blog.csdn.net/swandy45/article/details/6982421 环 […]...

  6. 常用正则表达式(手机号、邮箱、URL地址、身份证等等)

    一、前言   不好的习惯:1、每一次用到正则都是上网copy一份,也没有去学习思考,看看都是什么意思;     […]...

  7. ffmpeg 跟我学 视频教程

        最近一段时间找时间录制了一些Ffmpeg视频教程,还有录制完毕,会持续更新,内容会包含Ffmeg保存文 […]...

  8. 自然数到底可以表示到多大?

      版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址   http:/ […]...

展开目录

目录导航