我有一个正在运行的Spark应用程序,它占用了我的其他应用程序无法分配任何资源的所有核心。
我做了一些快速的研究,人们建议使用YARN kill或/ bin / spark-class来杀死命令。但是,我使用CDH版本和/ bin / spark-class甚至根本不存在,YARN kill应用程序也不起作用。
有人陪我这个吗?
答案 0 :(得分:158)
yarn application -kill application_1428487296152_25597
答案 1 :(得分:2)
PUT http:// {rm http address:port} / ws / v1 / cluster / apps / {appid} / state
{
"state":"KILLED"
}
答案 2 :(得分:2)
首次使用:
yarn application -list
记下应用程序ID 然后杀死使用:
yarn application -kill application_id
答案 3 :(得分:1)
这可能不是道德和首选的解决方案,但在无法访问控制台以使用yarn application命令杀死工作的环境中,它会有所帮助。
步骤是
转到spark作业的应用程序主页。 单击作业部分。 单击活动作业的活动阶段。 您会在活动阶段旁边看到“ kill”按钮。
如果后续阶段取决于当前运行阶段,则此方法有效。虽然将作业标记为“被用户杀死”
答案 4 :(得分:0)
从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