Spark On Yarn External Shuffle Service

个人博客地址:Spark On Yarn External Shuffle Service | 一张假钞的真实世界

本文基于spark-3.1.2-bin-without-hadoop.tgz版本,所以spark-3.1.2-yarn-shuffle.jar已经在节点的${SPARK_HOME}/yarn目录下。

HADOOP_CLASSPATH

在所有NodeManager节点上设置环境变量:

复制代码
export HADOOP_CLASSPATH=${SPARK_HOME}/yarn/spark-3.1.2-yarn-shuffle.jar:$HADOOP_CLASSPATH

yarn-site.xml

在yarn-site.xml中添加以下配置,并分发至所有NodeManager节点。

复制代码
<!-- Spark Configuration -->
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>spark_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
  <value>org.apache.spark.network.yarn.YarnShuffleService</value>
</property>
<property>
  <name>spark.yarn.shuffle.stopOnFailure</name>
  <value>true</value>
</property>

重启NodeManager

复制代码
yarn --daemon stop nodemanager
yarn --daemon start nodemanager

检查

在NodeManager节点上使用以下命令查看7337端口是否已被监听:

复制代码
netstat -ntlp|grep 7337

该端口通过spark.shuffle.service.port指定,默认是7337。

启用

${SPARK_HOME}/conf/spark-defaults.conf中添加以下配置,并分发至所有节点。

复制代码
spark.shuffle.service.enabled true
相关推荐
阿里云大数据AI技术几秒前
阿里云 EMR Serverless Spark 发布 Agent Skill:让自然语言驱动 Spark 任务与资源管理
spark·agent
卷毛的技术笔记15 分钟前
从“拆东墙补西墙”到“最终一致”:分布式事务在Spring Boot/Cloud中的破局之道
java·spring boot·分布式·后端·spring cloud·面试·rocketmq
不一样的故事12638 分钟前
SVN 权限已赋予但客户端看不到服务端文件
大数据·网络·安全
甘露寺44 分钟前
【LangGraph 2026 核心原理解析】大模型 Tool Calling 机制与使用最佳实践全解
大数据·人工智能·python
万象资讯1 小时前
2026 年外贸私域CRM系统最新实测榜单:数据主权与全链路增长选型指南
大数据·人工智能
数智化管理手记1 小时前
异常反复出现?精益生产生产异常闭环的三大常见问题场景
大数据·数据库·低代码·制造·精益工程
塔能物联运维2 小时前
高密度算力时代,热管理的竞争已从“散热”转向“控温”
大数据
Omics Pro2 小时前
华大等NC|微生物多样性与抗菌物质发现
大数据·人工智能·深度学习·语言模型·excel
Are_You_Okkk_2 小时前
非结构化文档破局:BeeParser+PandaWiki赋能车企技术资料规范化管理
大数据·人工智能·开源
大G的笔记本2 小时前
redis分布式锁过期问题和自动续期和主从延迟问题
redis·分布式