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
相关推荐
kngines3 小时前
【实战ES】实战 Elasticsearch:快速上手与深度实践-8.2.2成本优化与冷热数据分离
大数据·数据库·elasticsearch·搜索引擎
kngines5 小时前
【实战ES】实战 Elasticsearch:快速上手与深度实践-8.2.1AWS OpenSearch无服务器方案
大数据·elasticsearch·搜索引擎·serverless
绛洞花主敏明5 小时前
git subtree在本地合并子仓库到主仓库
大数据·git·elasticsearch
别说我什么都不会5 小时前
OpenHarmony源码分析之分布式软总线:trans_service模块(2)/会话管理之新会话
分布式·嵌入式·harmonyos
庭前云落6 小时前
从零开始的 Kafka 学习(三)| 创建主题
分布式·学习·kafka
添砖Java中6 小时前
零基础掌握分布式ID生成:从理论到实战的完整指南 [特殊字符]
java·分布式·分布式id
z26373056118 小时前
Git 常用命令指南
大数据·elasticsearch·搜索引擎
火龙谷9 小时前
hadoop第3课(hdfs shell)
大数据·hadoop·hdfs
别说我什么都不会9 小时前
OpenHarmony源码分析之分布式软总线:trans_service模块(1)/认证通道管理
分布式·嵌入式·harmonyos
Pitayafruit10 小时前
【📕分布式锁通关指南 08】源码剖析redisson可重入锁之释放及阻塞与非阻塞获取
redis·分布式·后端