1、reduce task OOM? 增大reduce端的聚合操作的内存比例,我来为大家讲解一下关于spark最佳参数:spark调优的相关总结?跟着小编一起来看一看吧!

spark最佳参数:spark调优的相关总结

spark最佳参数:spark调优的相关总结

1、reduce task OOM?

增大reduce端的聚合操作的内存比例

增大Executor memory 内存大小 --executor-memory

减少reduce task每次拉取的数据量 设置spark.reducer.maxSizeInFlight参数

2、在shuffle阶段executor挂掉?

分析原因:(1)map task阶段的所运行的executor的内存不足,导致executor挂掉了。导致executor里面的blockmanager挂掉,不能和connctionmanager建立连接,

2.executor并没有挂掉

2.1 BlockManage之间的连接失败(map task所运行的executor正在GC)

2.2建立连接成功,map task所运行的executor正在GC

3.reduce task向Driver中的MapOutputTracker获取shuffle file位置的时候出现了问题

下面有几个重要的参数的调节:

spark.shuffle.file.buffer

默认值:32k

参数说明:该参数用于设置shuffle write task的BufferedOutputStream的buffer缓冲大小。将数据写到磁盘文件之前,会先写入buffer缓冲中待缓冲写满之后,才会溢写到磁盘。

调优建议:如果作业可用的内存资源较为充足的话,可以适当增加这个参数的大小(比如64k),从而减少shuffle write过程中溢写磁盘文件的次数,也就可以减少磁盘IO次数,进而提升性能。在实践中发现,合理调节该参数,性能会有1%~5%的提升。

,