【Spark篇】---Spark故障解决(troubleshooting)

时间:2021-01-29 05:42:59

一、前述

本文总结了常用的Spark的troubleshooting。

二、具体

1、shuffle file cannot find:磁盘小文件找不到。

1) connection timeout ----shuffle file cannot find

提高建立连接的超时时间,或者降低gc,降低gc了那么spark不能堆外提供服务的时间就少了,那么超时的可能就会降低。

2) fetch data fail  ---- shuffle file cannot find

提高拉取数据的重试次数以及间隔时间。

3) OOM/executor lost ---- shuffle file cannot find

提高堆外内存大小,提高堆内内存大小。

2、reduce OOM

BlockManager拉取的数据量大,reduce task处理的数据量小

解决方法:

1) 降低每次拉取的数据量

2) 提高shuffle聚合的内存比例

3) 提高Executor的内存比例

3、序列化问题

自定义类时别忘实现序列化。

4、Null值问题

val rdd = rdd.map{x=>{

x+”~”;

}}

rdd.foreach{x=>{

System.out.println(x.getName())

}}