配置YARN实现Spark应用优雅停止:参数设置及框架实现咨询
关于使用
yarn application -stop优雅停止Spark应用的问题解答 一、参数yarn.application.admin.client.class.SPARK的配置方式与位置
- 配置位置:该参数属于YARN全局配置,需在YARN的
yarn-site.xml文件中添加。 - 设置方式:插入以下配置节点:
<property> <name>yarn.application.admin.client.class.SPARK</name> <value>org.apache.spark.deploy.yarn.YarnApplicationAdminClient</value> </property>
- 生效要求:配置完成后需重启YARN的ResourceManager和NodeManager服务。若仅需针对单个Spark应用生效,也可在提交应用时通过
spark-submit --conf yarn.application.admin.client.class.SPARK=org.apache.spark.deploy.yarn.YarnApplicationAdminClient临时指定,但全局配置更适合批量场景。
二、获取特定框架实现(YarnApplicationAdminClient)
- 该实现类是Spark官方自带的组件,只要你的Spark版本为3.2.0及以上(对应YARN-10123修复的版本基线),就已经包含在Spark的YARN部署包中。
- 验证方式:查看Spark安装目录下的
spark-yarn_*.jar包(例如spark-yarn_2.12-3.3.0.jar),其中内置了org.apache.spark.deploy.yarn.YarnApplicationAdminClient类。 - 版本兼容提示:若Spark版本低于3.2.0,无法使用该功能,需升级到支持该特性的Spark版本。
补充说明:配置完成后执行yarn application -stop <application-id>,YARN会调用Spark的AdminClient发送优雅停止信号,应用会先处理完当前正在运行的任务再退出,而非直接强制终止进程。
内容的提问来源于stack exchange,提问作者landau
相关产品推荐
相关产品推荐

