在较高的简要级别上,Hadoop FairScheduler 的内部结构是什么? 他们是否使用优先队列、堆来确定每个作业等待的时间? 还是使用了其他一些技术?
最佳答案
开始的好地方是 paper它描述了公平调度程序。它详细描述了算法并为不同类型的作业提供了基准。简要总结是,它试图通过在大型作业之前或旁边运行小型作业来提高整体集群吞吐量。在某种程度上,您可以将其描述为优先级队列,但它更复杂,因为它试图放置数据任务或本地机架任务,并且需要做出不同的权衡。大多数调度程序最好被视为最小化算法,因为它试图减少完成某些任意工作 block 所需的时间。
关于java - Hadoop FairScheduler 的高级内部数据结构和算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9248483/