17)Yarn资源调度器

2019-03-08  本文已影响0人  bullion

    Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。


Yarn基本架构

    YARN主要由ResourceManager NodeManager ApplicationMaster 和 Container等组件构成

Yarn工作机制(job作业提交全过程)

资源调度器

    Hadoop作业调度器主要有三种:FIFO,Capacity Scheduler(容量调度器)和Fair Scheduler(公平调度器)。Hadoop2.7.2默认的资源调度器是Capacity Scheduler。

yarn-default.xml

<property>

        <description>The class to use as the resourcescheduler.</description>

        <name>yarn.resourcemanager.scheduler.class</name>

        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>

</property>

FIFO调度器

Capacity Scheduler 容量调度器


Fair Scheduler(公平调度器)

任务推测执行

    1.作业完成时间取决于最慢的任务完成时间

    一个作业由若干个Map任务和Reduce任务构成。因硬件老化,软件Bug等,某些任务可能运行非常慢

    2.推测执行机制

    发现拖后腿的任务,比如某个任务运行速度远慢于任务平均速度。为拖后腿任务启动一个备份任务,同时运行。谁先运行完,则采用谁的结果。

    3.执行推测任务的前提条件

        1)每个Task只能有一个备份任务

        2)当前Job已完成的Task必须不小于0.05(5%)

        3)开启推测执行参数设置。mapred-size.xml文件中默认是打开的

<property>

    <name>mapreduce.map.speculative</name>

    <value>true</value>

    <description>If true, then multiple instances of some maptasks may be executed in paralled.</description>

</property>

<property>

    <name>mapreduce.reduce.speculative</name>

    <value>true</value>

If true, then multiple instances of some reducetasks may be executed in paralled.

</property>


    4.不能启用推测执行机制情况

        1)任务间存在严重的负载倾斜

        2)特殊任务,比如任务向数据库中写数据

    5.算法原理

上一篇 下一篇

猜你喜欢

热点阅读