HADOOP 任务调度器

  • FIFO调度器

    • FIFO调度器也就是先进先出(First In First Out)调度器。FIFO调度器是Hadoop最早应用的一种调度策略,在于集群中同时只能有一个作业在运行。将所有的Application按照提交时候的顺序来执行,只有当上一个Job执行完成之后后面的Job才会按照队列的顺序依次被执行。FIFO调度器以集群资源独占的方式来运行作业,这样的好处是一个作业可以充分利用所有的集群资源,但是对于运行时间短,重要性高或者交互式查询类的MR作业就要等待排在序列前的作业完成才能被执行,这也就导致了如果有一个非常大的Job在运行,那么后面的作业将会被阻塞

  • Capacity调度器

    • Capacity调度器也就是容器调度器。可以将它理解成一个个的资源队列。这个资源队列是用户自己去分配的

  • Fair调度器

    • Fair调度器也就是公平调度器。Fair调度器是一个队列资源分配方式,在整个时间线上,所有的Job平均的获取资源。默认情况下,Fair调度器只是对内存资源做公平的调度和分配。当集群中只有一个任务在运行时,那么此任务会占用整个集群的资源。当其他的任务提交后,那些释放的资源将会被分配给新的Job,所以每个任务最终都能获取几乎一样多的资源

  • 如果业务逻辑比较简单建议使用FIFO调度器

  • 如果需要控制部分应用的优先级同时又想要充分利用集群资源的情况下,建议使用Capacity调度器

  • 如果想要多用户或者多队列公平的共享集群资源,那么就选用Fair调度器

猜你喜欢

转载自www.cnblogs.com/xiangyuguan/p/11367362.html