文档详情

Hadoop任务调度器.ppt

发布:2017-05-25约4.45千字共23页下载文档
文本预览下载声明
Hadoop任务调度器 演讲人:董西成 技术博客:dongxicheng.org sina微博:西成懂 提纲 基础知识 Hadoop调度流程 Hadoop自带调度器介绍 编写自己的Hadoop调度器 总结 基础知识 基础知识 heartbeat TaskTracker周期性(默认为3s)调用RPC向JobTracker汇报信息,形成heartbeat 汇报信息包括TaskTracker状态信息、Task运状况等 Slot 资源划分单位 分为map slot和reduce slot两种 由参数mapred.tasktracker.[map|reduce].tasks.maximum设置 Hadoop调度流程 TaskTracker TaskTracker TaskTracker JobTracker TaskScheduler ④ assignTasks() ⑤ task list ③ TaskTrackerStatus, askForNewTask ⑥ tasks-to-lauch Task ⑦ launch ③ ③ Client ① submitJob() ② notify initJob() Hadoop作业描述方式 JobInProgress TaskInProgress TaskInProgress TaskInProgress Task Attempt Task Attempt Task Attempt Task Attempt Task Attempt …… …… (正常情况) (推测式任务) (任务失败) 可概括为“三层多叉树” Hadoop三级调度 所有调度器实际上均采用了三级调度策略,即为空闲的slot依次选择一个队列、作业和任务。 队列(queue) 用户被划分到某个队列 每个队列分配一定量的资源 作业(job) 提交时间 优先级(5个优先级:VERY_HIGH,HIGH, NORMAL, LOW, VERY_LOW) 任务(task) 本地性(node locality, rack locality) Hadoop现有调度器 FIFO 批处理调度器 Capacity Scheduler 多用户调度器 Fair Scheduler 多用户调度器 Hadoop现有调度器(FIFO) job1 按到达时间排序,先来先服务 job2 job3 job4 job5 job6 job7 job8 map task0 map task1 map task2 reduce task0 reduce task1 reduce task2 map task3 map task4 map task5 job1 queue has a free slot return a new task Hadoop现有调度器(FIFO) job1 按到达时间排序,先来先服务 job2 job3 job4 job5 job6 job7 job8 map task1 failedTasks map task0 locality tasks map task3 non-locality tasks map task2 map task4 speculative tasks map task5 job1 reduce task0 nonRunningReduces reduce task1 speculative tasks reduce task2 Hadoop现有调度器 (Capacity Scheduler) job11 按到达时间排序,先来先服务 job12 job13 job14 job15 job16 job21 job22 job23 job24 job25 job31 job32 job33 job34 job35 job36 job37 queueA queueB queueC 100 slots (20%, 15) (50%, 25) (30%, 25) Hadoop现有调度器 (Capacity Scheduler) 由Yahoo开源,共享集群调度器 以队列方式组织作业 每个队列内部采用FIFO调度策略 每个队列分配一定比例资源 可限制每个用户使用资源量 Hadoop现有调度器 (Fair Scheduler) job11 按缺额排序,缺额大者优先 job12 job13 job14 job15 job16 job21 job22 job23 job24 job25 job31 job32 job33 job34 job35 job36 job37 queueA queueB queueC Hadoop现有调度器 (Fair Schedu
显示全部
相似文档