可以YARN抢占Spark驱动程序吗?

时间:2017-11-28 16:05:32

标签: hadoop apache-spark yarn

任何人都可以澄清能否或不能抢占Spark驱动程序因为应用程序占用的资源多于其队列所允许的资源?

这个问题源自prod集群的情景:

  1. CDH 5.12,hadoop 2.6.0,使用fair scheduller
  2. 队列A = 50%,队列B = 25%,队列C = 25%
  3. 两个应用程序,比如app1和app2在队列B中运行,并且已经吃掉了所有群集资源。
  4. 一段时间app3在队列A中启动并声明其资源
  5. app1和app2杀死了他们的一些执行者(至少我看到ERROR | SIGTERM handler | org.apache.spark.executor.CoarseGrainedExecutorBackend | RECEIVED SIGNAL TERM
  6. app1打印有关ApplicationMaster死亡的错误消息: ERROR | SIGTERM handler | org.apache.spark.deploy.yarn.ApplicationMaster | RECEIVED SIGNAL TERM。 NM日志只是说驱动程序容器被杀死了Stopping container with container Id: app1_driver_containerId
  7. 我无法在文档中找到RM可以杀死应用程序主机的任何证据。文件说,它礼貌地要求大师释放资源,而且他们没有被释放,然后强行杀死容器。可以杀死AM吗?

1 个答案:

答案 0 :(得分:0)

简短的回答是肯定的,尽管有一个添加配置以避免配置https://issues.apache.org/jira/browse/YARN-9537的标签。