按应用程序名称杀死纱线应用程序

Kill yarn application by Application-Name

我想创建一个 cron 来通过它的应用程序名称杀死 yarn 应用程序 (Spark)。但我发现 thant yarn application -kill 需要一个应用程序 ID。有没有一种解决方案可以通过应用程序名称将其杀死,或者使用应用程序名称获取应用程序 ID。

谢谢

yarn application -list

这将为您提供一个应用程序列表,其中包含应用程序 ID,运行 在 yarn 上。

'yarn application -list' 的输出包含纱线应用程序的以下信息:

  • 应用程序 ID
  • 应用程序名称
  • 应用类型
  • 用户
  • 队列
  • 最终状态
  • 进度
  • 跟踪-URL

您可以通过所需参数列出应用程序和awk。 例如:按 'Application-Name'

列出应用程序

yarn 应用程序列表 | awk '$2 == "APPLICATION_NAME" { print $1 }' > applications_list.txt

然后您可以遍历文件并终止应用程序,如下所示:

while read p; do echo $p yarn application -kill $p done <applications_list.txt

与其他答案相同,但使用 xargs

yarn application -list | awk ' == "APPLICATION_NAME" { print  }' | xargs yarn application -kill