请解释Apache Hadoop YARN中调度器的作用,并列举几种常见的调度策略。
考察说明
考察对YARN资源调度核心组件及其调度策略的理解。
回答思路
- 【回答框架 1】YARN调度器是ResourceManager中的核心组件,负责根据容量、队列、资源需求等策略,为提交的应用分配集群资源。它不负责监控任务执行,也不参与应用内部的容错。
- 【回答框架 2】常见的调度策略包括FIFO Scheduler(先进先出)、Capacity Scheduler(容量调度器)和Fair Scheduler(公平调度器)。FIFO简单但可能导致饥饿,Capacity按队列分配容量并支持弹性,Fair则动态平衡资源分配。
- 【回答框架 3】在实际生产环境中,Apache Hadoop默认使用Capacity Scheduler,它支持多租户隔离和资源预留。Fair Scheduler适合多用户共享集群,通过权重和最小保证来公平分配。
- 【回答框架 4】选择调度器需考虑业务优先级、资源利用率和隔离需求。调度器配置包括队列划分、容量比例、用户权限等,通常需要根据实际工作负载调整。
- 【关键点 1】调度器负责资源分配,不负责任务执行和监控。
- 【关键点 2】常见策略有FIFO、Capacity和Fair,各有优缺点。
- 【关键点 3】生产环境常用Capacity Scheduler,支持队列和隔离。
- 【关键点 4】Fair Scheduler适合多用户,动态调整公平性。
- 【关键点 5】选择调度器需权衡公平、效率和隔离需求。
- 【易错点 1】误认为调度器负责任务运行状态管理。
- 【易错点 2】混淆Capacity和Fair的队列机制。
- 【易错点 3】忽视调度器配置对性能和隔离的影响。