当同时在集群中运行多个作业时,默认情况下,Hadoop将提交的作业放入一个FIFO,一个作业结束后,Hadoop就启动下一个作业。

当一个运行时间长但是优先级较低的作业先于运行时间短而优先级较高的作业提交时,优先级高的作业会长时间排队等待。

为了解决这个问题,Hadoop定义了5种不同的作业优先级,分别是:VERY_HIGH,HIGH,NORMAL,LOW,VERY_LOW,作业的默认优先级是NORMAL,可以通过$hadoop job -set-priority进行修改。

例子:
1.在集群中启动1个运行时间较长的作业
caiyong@caiyong:/opt/hadoop$ bin/hadoop jar hadoop-examples-1.2.1.jar pi 2000  2000

2.查看作业列表
caiyong@caiyong:/opt/hadoop$ bin/hadoop job -list

1 jobs currently running
JobId                                     State    StartTime       UserName    Priority    SchedulingInfo
job_201503171201_0003   1   1426565671593   caiyong        NORMAL            NA

3.查看作业的运行状态
caiyong@caiyong:/opt/hadoop$ bin/hadoop job -status job_201503171201_0003

Job: job_201503171201_0003
file: hdfs://127.0.0.1:8020/home/caiyong/tmp/mapred/staging/caiyong/.staging/job_201503171201_0003/job.xml
tracking URL:http://localhost:50030/jobdetails.jsp?jobid=job_201503171201_0003
map() completion: 0.012500001
reduce() completion: 0.0

Counters: 19
    Job Counters 
        SLOTS_MILLIS_MAPS=117080
        Launched map tasks=26
        Data-local map tasks=26
    File Input Format Counters 
        Bytes Read=2832
    FileSystemCounters
        HDFS_BYTES_READ=5870
        FILE_BYTES_WRITTEN=1316654
    Map-Reduce Framework
        Map output materializedbytes=672
        Map input records=24
        Spilled Records=48
        Map output bytes=432
        Total committed heap usage(bytes)=3815768064
        CPU time spent (ms)=9530
        Map input bytes=576
        SPLIT_RAW_BYTES=3038
        Combine input records=0
        Combine output records=0
        Physical memory (bytes)snapshot=4156928000
        Virtual memory (bytes) snapshot=9500446720
        Map output records=48

4.把作业的优先级提高为VERY_HIGH
caiyong@caiyong:/opt/hadoop$ bin/hadoop job -set-priority job_201503171201_0003    VERY_HIGH

Changed job priority.

5.查看更改后的作业优先级
caiyong@caiyong:/opt/hadoop$ bin/hadoop job -list

1 jobs currently running
JobId                                     State    StartTime          UserName    Priority    SchedulingInfo
job_201503171201_0003   1   1426565671593   caiyong      VERY_HIGH   NA

6.强制结束正在运行的作业
caiyong@caiyong:/opt/hadoop$ bin/hadoop job -kill job_201503171201_0003

Killed job job_201503171201_0003

Hadoop优先级调度的更多相关文章

  1. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  2. 初识Hadoop、Hive

    2016.10.13 20:28 很久没有写随笔了,自打小宝出生后就没有写过新的文章.数次来到博客园,想开始新的学习历程,总是被各种琐事中断.一方面确实是最近的项目工作比较忙,各个集群频繁地上线加多版 ...

  3. hadoop 2.7.3本地环境运行官方wordcount-基于HDFS

    接上篇<hadoop 2.7.3本地环境运行官方wordcount>.继续在本地模式下测试,本次使用hdfs. 2 本地模式使用fs计数wodcount 上面是直接使用的是linux的文件 ...

  4. hadoop 2.7.3本地环境运行官方wordcount

    hadoop 2.7.3本地环境运行官方wordcount 基本环境: 系统:win7 虚机环境:virtualBox 虚机:centos 7 hadoop版本:2.7.3 本次先以独立模式(本地模式 ...

  5. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  6. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  7. 程序员必须要知道的Hadoop的一些事实

    程序员必须要知道的Hadoop的一些事实.现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软...... 1: ...

  8. Hadoop 2.x 生态系统及技术架构图

    一.负责收集数据的工具:Sqoop(关系型数据导入Hadoop)Flume(日志数据导入Hadoop,支持数据源广泛)Kafka(支持数据源有限,但吞吐大) 二.负责存储数据的工具:HBaseMong ...

  9. Hadoop的安装与设置(1)

    在Ubuntu下安装与设置Hadoop的主要过程. 1. 创建Hadoop用户 创建一个用户,用户名为hadoop,在home下创建该用户的主目录,就不详细介绍了. 2. 安装Java环境 下载Lin ...

随机推荐

  1. Apache + Tomcat +mod_jk 实现集群

    实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window7 Javasdk: 1.7 Apache: 2.2.14    (本地安装路径:D:\Apache2 ...

  2. Log4j、Log4j 2、Logback、SFL4J、JUL、JCL的比较

    Log4j.Log4j 2.Logback.SFL4J.JUL.JCL的比较 之前就知道有好几种日志框架,但是一直都是听别人讲,在什么时候该用何种logger,哪种logger比较好……一直对Log4 ...

  3. C#HTTP代理的实现之注册表实现

    HTTP代理的实现形式,可以通过修改注册表项,然后启动浏览器来实现,也可以通过SOCKET通信,构造HTTP头实现.下面是关于注册表实现的方式. 注册表实现,只需要修改几个关键的注册表项就可以了. 第 ...

  4. 不用char*作为hash_map的key

    尽量不用char*作为hash_map的key Posted on 2013-09-09 21:21 Springlie 阅读(83) 评论(0) 编辑 收藏 引子: 同事前几天用hash_map时发 ...

  5. python 爬虫总结【转】

    1.基本抓取网页 get方法 import urllib2 url = "http://www.baidu.com" response = urllib2.urlopen(url) ...

  6. Rustlang语言逐行处理文件的基本方法

    文件操作 需求: 将文件中的内容按行读取出来,然后对改行的数据进行处理,最后将处理后的行数据存放到新的文件中. 使用RUST来处理的方法如下. 首先引入需要的标准库: use std::io::pre ...

  7. webservice的调用方法

    一.WebService在cs后台程序中的调用 A.通过命名空间和类名直接调用 示例: WebService ws = new WebService(); string s = ws.HelloWor ...

  8. rsync 文件校验及同步原理

    rsync 文件校验及同步原理 参考:http://rsync.samba.org/how-rsync-works.html 我们关注的是其发送与接收校验文件的算法,这里附上原文和我老婆(^_^)的翻 ...

  9. ASP.NET之旅—再一次与ASP谋面

    ASP对我来说已经不是新名词了,因为在一年以前就开始了ASP的学习,那时候虽然效果很不好,但是对ASP还是有了一些最基础的了解.ASP.NET是在ASP基础上增加了一些.NET的一些特性,基础的东西还 ...

  10. 安卓开发16:Spinner 下拉列表控件

    Spinner 下拉列表控件 创建一个activity_main.xml文件: <RelativeLayout xmlns:android="http://schemas.androi ...