繁体   English   中英

YARN 可以抢占 Spark Driver 吗?

[英]Can YARN preempt Spark Driver?

任何人都可以澄清 YARN 是否可以抢占 Spark 驱动程序,因为应用程序占用的资源超过其队列允许的资源?

这个问题来自 prod 集群上的场景:

  1. CDH 5.12,hadoop 2.6.0,使用公平调度器
  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 ERROR | SIGTERM handler | org.apache.spark.deploy.yarn.ApplicationMaster | RECEIVED SIGNAL TERM ERROR | SIGTERM handler | org.apache.spark.deploy.yarn.ApplicationMaster | RECEIVED SIGNAL TERM NM 日志只是说驱动程序容器已被杀死:正在Stopping container with container Id: app1_driver_containerId

我在文档中找不到任何证据表明 RM 可以杀死应用程序主程序。 文档说它礼貌地要求master释放资源,我没有释放它们然后它强行杀死容器。 它可以杀死AM吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM