为什么由于"容器被调度程序抢占而导致mapreduce尝试被杀?#34;?

时间:2016-06-07 08:49:31

标签: hadoop apache-pig

我刚刚注意到Hadoop上的许多Pig工作因以下原因而被杀死:Container preempted by scheduler

有人可以解释一下导致这种情况的原因,以及我是否应该(并且能够)对此做些什么?

谢谢!

2 个答案:

答案 0 :(得分:3)

如果您拥有公平的调度程序并启用了许多不同的队列,则优先级较高的应用程序可以终止您的作业(以抢占方式)。

Hortonworks有更详细的解释

https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_yarn_resource_mgt/content/preemption.html

你应该做些什么吗?取决于您的申请是否在其SLA范围内并且在预期范围内执行。一般的良好做法是检查您的工作优先级和分配给它的队列。

答案 1 :(得分:1)

如果许多业务部门正在使用您的Hadoop集群。然后Admins为它们决定队列,每个队列都有自己的优先级(管理员也决定)。如果在调度程序级别启用了抢占,则优先级较高的应用程序不必等待,因为较低优先级的应用程序占用了可用容量。因此,在这种情况下,较低的专有任务必须释放资源,如果群集不可用,则运行优先级较高的应用程序