1. YARN的资源调度
YARN是对应用进行资源分配,应用是指applicatoin master,用来处理job的YARN的应用进程。
(1)MapReduce采用的模型是一个用户作业对应一个应用。
(2)Spark采用的是作业的每个工作流或每个用户的对话对应一个应用。效率比第一种高。
(3)多个用户共享一个长期运行的应用。
2. FIFO调度器(FIFO Scheduler)
Hadoop最初设计时的调度器,为单队列调度器,无法充分利用硬件资源。先进先出队列,先为第一个应用请求资源,第一个满足后再依次为队列下一个提供服务,不适合共享集群。
3. 容器调度器(Capacity Scheduler)
Capacity Schedulere是Yahoo!开发的多用户调度器,它以队列为单位划分资源,每个队列可设定一定比例的资源最低保证和使用上限,同时,每个用户也可设定一定的资源使用上限以防止资源滥用。而当一个队列的资源有剩余时,可暂时将剩余资源共享给其他队列。总之,Capacity Scheduler主要有以下几个特点:
- 容量保证。管理员可为每个队列设置资源最低保证和资源使用上限,而所有提交到该队列的应用程序共享这些资源。
- 灵活性。如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的应用程序提交,则其他队列释放的资源会归还给该队列。相比于HOD调度器,这种资源灵活分配的方式可明显提高资源利用率。
- 多重租赁。支持多用户共享集群和多应用程序同时运行。为防止单个应用程序、用户或者队列独占集群中的资源,管理员可为之增加多重约束(比如单个应用程序同时运行的任务数等)。

本文探讨了YARN的资源调度策略,包括FIFO调度器、CapacityScheduler和FairScheduler的区别,以及它们在并发度、公平性和资源利用方面的优缺点,适合不同规模企业的选择建议。
&spm=1001.2101.3001.5002&articleId=118943479&d=1&t=3&u=3189d1fbb9914fa2be9cc7ec9105efd3)
898

被折叠的 条评论
为什么被折叠?



