• MapReduce中作业调度机制


    MapReduce中作业调度机制主要有3种:

    1.先入先出FIFO
          Hadoop 中默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行的作业。

    2.公平调度器(相当于时间片轮转调度)
          为任务分配资源的方法,其目的是随着时间的推移,让提交的作业获取等量的集群共享资源,让用户公平地共享集群。具体做法是:当集群上只有一个任务在运行时,它将使用整个集群,当有其他作业提交时,系统会将TaskTracker节点空间的时间片分配给这些新的作业,并保证每个任务都得到大概等量的CPU时间。
    配置公平调度器
    1.修改mapred-stie.xml 加入如下内容

          <property>
               <name>mapred.jobtracker.taskScheduler</name>
               <value>org.apache.hadoop.mapred.FairScheduler</value>
           </property>
           <property>
               <name>mapred.fairscheduler.allocation.file</name>
               <value>/opt/hadoop/conf/allocations.xml</value>
           </property>
           <property>
                <name>mapred.fairscheduler.poolnameproperty</name>
                <value>pool.name</value>
           </property>

    2 . 在 Hadoop conf 下创建allocations.xml内容为:

     <?xml version="1.0"?>
            <alloctions>
            </alloctions>
    样例:
    <pool name="sample_pool">
    <minMaps>5</minMaps>
    <minReduces>5</minReduces>
    <weight>2.0</weight>
    </pool>
    <user name="sample_user">
    <maxRunningJobs>6</maxRunningJobs>
    </user>
    <userMaxJobsDefault>3</userMaxJobsDefault>

    3. 重启 JobTracker
    4. 访问 http://jobTracker:50030/scheduler , 查看 FariScheduler 的 UI
    5 . 提交任务测试


    3.容量调度器
          支持多个队列,每个队列可配置一定的资源量,每个队列采用 FIFO 调度策略,为 了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。调度时,首先按以下策略选择一个合适队列:计算每个队列中正在运行的任务数与其应该分得的计算资源之间的比值,选择一个该比值最小的队列;然后按以下策略选择该队列中一个作业:按照作业优先级和提交时间顺序选择 ,同时考虑用户资源量限制和内存限制。但是不可剥夺式。

  • 相关阅读:
    转--安装11g oracle
    数据可视化分析(柱状图、饼图、折线图、雷达图)
    2021双十一自动刷淘宝喵糖Auto.js脚本(安卓适用)
    最近升级了一下小老婆(8核 2x8G DDR3 128G SSD)
    [Orchard CMS系列] 创建主题(Writing a new theme)
    百度,你家云管家能靠谱点不?替你脸红!Shame on you!
    [解决]ASP.NET MVC 4/5 源码调试(source code debug)
    [解决]Kali Linux DHCP自动获取IP失败 坑爹的VMWare桥接
    SSRS 页面默认显示英文
    3.2、OSPF
  • 原文地址:https://www.cnblogs.com/lixiaolun/p/4927349.html
Copyright © 2020-2023  润新知