我只注意到一个事实,即在Hadoop上许多猪的工作被杀害由于以下原因:Container preempted by scheduler
为什么由于“容器被调度程序抢占”而导致mapreduce尝试被终止?
有人能解释我是什么原因导致的,如果我应该(和我能够)做些什么呢?
谢谢!
我只注意到一个事实,即在Hadoop上许多猪的工作被杀害由于以下原因:Container preempted by scheduler
为什么由于“容器被调度程序抢占”而导致mapreduce尝试被终止?
有人能解释我是什么原因导致的,如果我应该(和我能够)做些什么呢?
谢谢!
如果您拥有公平的调度程序并启用了许多不同的队列,那么优先级更高的应用程序可以以抢先方式终止您的作业。
Hortonworks有更多的细节
如果你做任何事情一个很好的解释?取决于您的应用程序是否在其SLA内,并在预期范围内执行。一般的良好做法是审查你的工作优先级和分配给它的队列。
如果您的Hadoop集群正在被许多业务部门使用。那么管理员为他们决定队列,每个队列都有其优先级(这也是由管理员决定的)。如果在调度程序级别启用抢占,则较高优先级的应用程序不必等待,因为较低优先级的应用程序已占用可用容量。因此,在这种情况下,较低优先级任务必须释放资源(如果在群集中不可用),则运行高优先级应用程序。