You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按用户名批量终止特定用户的所有YARN应用?

批量终止特定用户的所有YARN应用

嘿,这个需求太实用了!当遇到用户提交了一堆非预期任务需要批量清理时,完全不用逐个输入应用ID,用Shell命令组合就能轻松搞定。下面给你两种靠谱的方法:

方法一:一键批量终止(直接执行)

这行命令可以直接终止用户dr.who所有处于运行状态的YARN应用:

yarn application -list -appStates RUNNING | grep dr.who | awk '{print $1}' | xargs yarn application -kill

我给你拆解下每个部分的作用:

  • yarn application -list -appStates RUNNING:列出所有正在运行的YARN应用;如果要包含等待中的应用(比如ACCEPTED状态),可以把RUNNING换成RUNNING,ACCEPTED,或者用ALL覆盖所有状态(不过已完成的应用没法被终止,命令会自动忽略)
  • grep dr.who:从列表里筛选出属于用户dr.who的应用条目
  • awk '{print $1}':提取每条结果里的第一个字段——也就是我们需要的应用ID
  • xargs yarn application -kill:把所有提取到的应用ID作为参数,批量传给kill命令,实现一键终止

方法二:先确认再执行(更安全)

如果你担心误杀其他应用,建议先把要终止的应用ID导出到文件,确认无误后再执行终止操作:

  1. 导出目标应用ID到文件:
yarn application -list -appStates RUNNING | grep dr.who | awk '{print $1}' > to_kill_apps.txt
  1. 打开文件检查内容:
cat to_kill_apps.txt
  1. 确认没问题后,批量终止:
cat to_kill_apps.txt | xargs yarn application -kill

小提醒

  • 确保你有足够的权限:通常需要YARN管理员权限,或者你就是应用的提交者本人
  • 如果应用数量较多,命令会逐个发送终止请求,YARN会依次处理,耐心等一会儿就行
  • 要是某些应用状态无法被终止(比如已经完成的),命令会返回错误提示,但不影响其他应用的终止操作

内容的提问来源于stack exchange,提问作者Antoine Ly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:07:54