Spark 3.2 基于推送的Spark shuffle 服务

本文介绍了在Spark 3.2中引入的基于推送的Spark Shuffle服务,旨在解决大规模计算时shuffle效率低下的问题。传统的shuffle服务在处理大量小块数据时效率降低,而新的Push-based shuffle通过合并小的中间shuffle块,减少Reducer的连接次数,从而提高整体效率。应用配置方面,可通过修改`yarn-site.xml`进行设置。
摘要由CSDN通过智能技术生成

[SPARK-30602] SPIP: Support push-based shuffle to improve shuffle efficiency - ASF JIRA (apache.org)

[SPARK-36374][SHUFFLE][DOC] Push-based shuffle high level user documentation by venkata91 · Pull Request #33615 · apache/spark · GitHub

问题背景

业务的大计算,有大量shuffle write read的时候,经常出现task失败的问题,后台日志大量报7337连接失败,7337是我们shuffle server的服务端口号。服务器的磁盘IO和CPU负载很高。7337在某个时间连接数超级多。

说明:该记录只是问题梳理,不会涉及任何业务信息。

21/12/09 08:07:55 ERROR TransportResponseHandler: Still have 1 requests outstanding when connection from 10.12.13.194:7337 is closed
21/12/09 08:07:55 ERROR BlockManager: Failed to connect to external shuffle server, will retry 2 more times after waiting 5 seconds...
java.lang.RuntimeException: java.util.concurrent.TimeoutException: Timeout waiting for task.
    at org.spark_project.guava.base.Throwables.propagate(Throwables.java:160)
    at org.apache.spark.network.client.TransportClient.sendRpcSync(TransportClient.java:258)
    at org.apache.spark.network.shuffle.ExternalShuffleClient.registerWithShuffleServer(ExternalShuffleClient.java:144)
    at org.apache.spark.storage.BlockManager$$anonfun$registerWit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值