Hadoop 任务调度器
Hadoop 是一个可以高效处理大数据量的分布式集群,并且支持多用户多任务执行。在 Hadoop1.0 版本有一个调度器是集成在 JobTracker 里面,对于传统的 Hadoop 批处理任务(日志挖掘、Web 页面索引),这种调度器是比较合适的,但这种调度器并不具备可扩展性。在Hadoop早期版本是以一种比较简单的方式对任务进行调度的,即FIFO调度器,它是按任务的提交顺序来调度任务的,并且可以使用 mapred.job.priority
配置或者利用 JobClient 的 setJobPriority() 方法设置任务调度优先级。调度器会根据优先级来调度任务,但这个优先级的设置其实并不支持资源抢占,因此如果一个长时间运行且优先级较低的任务比高优先级任务先调度的话,将会对高优先级任务造成阻塞。
Hadoop支持3种调度器:FIFO调度器、公平调度器(Fair Scheduler)、容量调度器(Capacity Scheduler)