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

Ami*_*IFI 4 hadoop-yarn

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

谢谢

Dav*_*vid 5

yarn application -list
Run Code Online (Sandbox Code Playgroud)

这将为您提供在纱线上运行的应用程序列表,以及应用程序 ID。


Lak*_*ini 5

“yarn application -list”的输出包含以下yarn应用的信息:

  • 应用程序 ID
  • 应用名称
  • 申请类型
  • 用户
  • 队列
  • 状态
  • 最终状态
  • 进步
  • 跟踪网址

您可以通过所需的参数列出应用程序和 awk。例如:按“应用程序名称”列出应用程序

纱线应用-列表| awk '$2 == "APPLICATION_NAME" { 打印 $1 }' > applications_list.txt

然后你可以遍历文件并杀死应用程序,如下所示:

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


Sae*_* BK 5

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

yarn application -list | awk '$2 == "APPLICATION_NAME" { print $1 }' | xargs yarn application -kill
Run Code Online (Sandbox Code Playgroud)