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

LHBlog發表於2018-03-04

一、前述

本文總結了常用的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())

}}

相關文章