Hadoop多用户作业调度器

Hadoop队列管理机制

用户权限管理

在mapred-site.xml中配置队列,并启用权限管理功能 在mapred-queue-acls.xml中配置用户对队列操作的权限(需要自定相关的用户组)

系统资源管理

根据不同的调度器,在其自己的配置文件中规划 如:capacity-scheduler.xml fair-scheduler.xml

Capacity Scheduler

http://hadoop.apache.org/docs/stable/capacity_scheduler.html 功能调度器主要体现在:

  1. 资源保证
  2. 灵活性
  3. 多重任务分配
  4. 大内存作业&资源密集型作业支持
  5. 作业优先级支持

Fair Scheduler

http://hadoop.apache.org/docs/stable/fair_scheduler.html 核心思想:基于资源池的最小资源量和公平共享量进行任务调度 公平调度器主要体现在:

  1. 资源公平分配
  2. 资源抢占
  3. 负载均衡
  4. 本地任务延时
  5. 配置文件动态加载

Capacity Scheduler VS Fair Scheduler

Capacity Scheduler

Fair Scheduler

目标

提供一种多用户共享Hadoop集群的方法,提高资源利用率降低管理成本

设计思想

资源按比例分配给各队列,添加严格的限制防止用户或队列独占资源

基于最大最小攻破算法将资源分配给各个资源池或用户

动态加载配置文件

×

负载均衡

×

资源抢占

×

大内存作业

√ 允许一个Task占用多个Slot

× 一个Task只能占用一个Slot

批量调度

本地任务调度优化

基于跳过次数的延迟调度

基于时间的延迟调度

队列间资源分配方式

资源使用率低优先

队列内部资源分配方式

默认FIFO,支持优先级

默认Fair,支持FIFO

事实上,Fair Scheduler一定程度上包含了Capacity Scheduler,后者是前者在配置为队列模式时的特例(排除大内存作业的特性,这写作业可以单独进行其他方式的优化) 建议选择Fair Scheduler,在商定ACL后,即可加入调度器进行任务规划。

Comments

石灰窑设备: 不错,看着挺好的。