当同时在集群中运行多个作业时,默认情况下,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$