我试图运行Fair Scheduler,但它并未将Map任务分配给仅有一个作业正在运行的某些节点。我的理解是,公平计划将使用conf
插槽限制,除非存在多个作业,此时计算公平性计算。我也尝试将所有队列设置为fair-scheduler.xml
中的FIFO,但我得到了相同的结果。Hadoop Fair Scheduler未将任务分配给某些节点
我已经在所有mapred-site.xml
文件中设置了调度程序mapreduce.jobtracker.taskscheduler
参数(尽管我相信只有JobTracker需要它),并且一些节点在接收和运行Map任务时没有问题。然而,其他节点要么从未获得任何Map任务,要么获得一轮Map任务(即所有的槽都被填充一次),然后再也没有获得任何。
我试过这个作为开发我自己的LoadManager的先决条件,所以我继续将调试LoadManager放在一起。从日志消息中,我可以看到问题节点不断请求Map任务,并且他们的插槽是空的。但是,他们从未被分配任何。
所有节点都与默认调度程序完美配合。当我启用Fair Scheduler时,我刚开始遇到这个问题。
任何想法?有人有这个工作,并采取了我已经错过了一个步骤?
编辑:值得注意的是公平调度程序的Web用户界面页面指出正确的公平份额计数,但运行列总是少。我使用默认的每个用户池,一次只有1个用户和1个作业。
呃,404上的链接。 – dfrankow 2013-02-15 22:52:31
@dfrankow:已修复,通过google找到它。 – BigChief 2013-02-15 23:45:53