Spark Kill正在运行的应用程序


101

我有一个正在运行的Spark应用程序,该应用程序占据了所有我的其他应用程序都不会分配任何资源的核心。

我做了一些快速研究,有人建议使用YARN kill或/ bin / spark-class终止命令。但是,我正在使用CDH版本,并且/ bin / spark-class甚至根本不存在,YARN kill应用程序也不起作用。

在此处输入图片说明

谁能和我一起吗?


1
如果您正在测试环境中:ps aux | grep
spark-

@eliasah“测试ENV”,给我的职位已经分配..
B.Mr.W.

1
您想杀死生产工作吗????
eliasah 2015年

1
@eliasah是的...由于一个主机的故障,生产工作被吊死了。
宝马先生

Answers:


213
  • 从Spark调度程序复制过去的应用程序ID,例如application_1428487296152_25597
  • 连接到已启动作业的服务器
  • yarn application -kill application_1428487296152_25597

1
您如何到达Spark Scheduler?
makansij

与一样web UI吗?
makansij

@Hunle您可以从获得ID Spark History UI或纱线RUNNING应用程式用户介面(纱主机:8088 /集群/应用/跑步)或Spark Job Web UIURL(纱主机:8088 /代理/ application_ <时间戳> _ <编号>
CᴴᴀZ

2
一次可以杀死多个人:yarn application -kill application_1428487296152_25597 application_1428487296152_25598 ...?
user3505444

6

从YARN获取所有应用程序ID并一一销毁它们可能会很耗时。您可以使用Bash for循环来快速,高效地完成此重复任务,如下所示:

杀死YARN上所有处于接受状态的应用程序:

for x in $(yarn application -list -appStates ACCEPTED | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done

杀死YARN上所有处于RUNNING状态的应用程序:

for x in $(yarn application -list -appStates RUNNING | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done



1

这可能不是一个道德且首选的解决方案,但在无法访问控制台以使用yarn application命令终止工作的环境中,它会有所帮助。

步骤是

转到spark作业的应用程序主页。单击作业部分。单击活动作业的活动阶段。您将在活动阶段旁边看到“ kill”按钮。

如果后续阶段取决于当前运行的阶段,则此方法有效。虽然将作业标记为“被用户杀死”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.