spark 经常会碰到的一些异常 备忘

转自 大蕉
还有这个GAN
http://www.jianshu.com/p/5842ca632816?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

还有这个
http://www.jianshu.com/p/52a3ceedadc5
小伙伴在写Spark任务的过程中感觉非常巨痛苦,总是有奇奇怪怪的问题,写好的程序在开发环境跑得好好的,一上到生产直接被干懵逼了。今天呢,我就跟大伙好好聊聊 Spark 在启动或者运行时的报错或者太慢,并分析其原因及解决方案。自己亲手挖的坑,抹着泪也要趟过去。现在我就跟你们细细说说我过去一年实际经验亲脚趟的坑。

00000:Spark on yarn 启动的时候一直在 waiting。
第一种可能,队列资源不足,所有的资源都在被其他同学占用ing。
解决方案:把那个同学打晕,然后kill application。
第二种可能,设置的 Driver 或者 executor 的 cpu 或者 memory 资源太多。
解决方案:看看队列资源有多少,拿小本本计算一下究竟能申请多少,然后给自己一巴掌。如果集群资源太烂,单台机器只有16G,那你就别动不动就申请一个 driver 或者 executor 一下就来个32G了。
第三种可能,程序报错了,一直在重试。
解决方案:滚回去debug去。

特别提醒:Spark 默认是有10%的内存的 overhead 的,所以会比你申请的多10%。

00001:Driver 抛 OutOfMemory Exception
很明显嘛,就是driver的内存不足了,尝试看一下哪个地方占用内存太多了,特别提醒一下,stage的切分,task的分配都是在Driver 分配的,数量太多的话会爆炸。以及collect(),count()等这些操作都是需要把所有信息搜集到driver端的。
解决方案:打自己一巴掌,然后看dump日志或者看看自己的代码,是不是哪里搞错了。如果一切都很合理,那就提高一下内存吧。

00010:executor 抛 OutOfMemory Exception
内存不足。哇,那这个可能性就多了。
是不是数据量太大 partition 数太少?太少了就多加点 partition 。
是不是产生数据倾斜了?解决它。
是不是某个操作,比如flatmap,导致单个executor产生大量数据了?
是不是请求的内存实在太少了?

00011:executor 抛 is running beyond physical memory limit
哇,你的集群资源超分配了,物理资源被其他团队用了,GG思密达,快拿起40米长木棍。把那个人抓出来。

00100:driver 或者 executor 抛 OutOfMemoryError: GC overhead limit exceeded
出现内存泄漏或者真的集群资源不够,一直在full GC超过次数限制了,仔细检查一下哪些东西占用内存太多,是不是RDD持久化占用太多资源了,还是数据有倾斜,还是真的partition太少导致每个partition数据太多。

00101:运行 GraphX 的时候 driver 抛 OutOfMemory Exception
运行 GraphX 的时候因为会迭代计算,所以会产生非常非常多 stage,这时候 driver 可能没有足够多的内存可以放下这些 stage 和 task 的状态,很容易就出现 OOM。这时候能做的事情就四个,第一增加 driver 内存,第二降低 partition 的数量,第三减少 Pregel 的迭代次数减少stage的数量,第四优化图的切分策略。

00110:大对象网络传输慢。
放弃默认的 Java Serialization,改用 Kryo Serialization。
小对象用广播的模式,避免全局 join。
GraphX 来说改善图切分策略,减少网络交互。
GraphX 尽量单台机器配置高点,可以尽量让更多的 partition 在同一台机器。

00111:SparkStreaming 消息堆积。
调整窗口时间,着重分析消息消费过程的瓶颈并调整相应的资源,尽量降低单笔计算时间。然后根据收集的信息再根据吞吐量来决定窗口时间。

01000:进行 Shuffle 的时候报 Spark Shuffle FetchFailedException。
数据在 Shuffle 的时候中间数据量过大或者数据产生了倾斜,导致部分目标机器崩溃。通过分析崩溃的时候的任务,改善数据 Shuffle 时的数据分布情况。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容

  • 1 前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数...
    wisfern阅读 2,433评论 3 39
  • Spark的性能调优实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。我们需要根据不同的业务...
    东皇Amrzs阅读 1,611评论 0 17
  • 1 数据倾斜调优 1.1 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spar...
    wisfern阅读 2,929评论 0 23
  • 转载地址 http://blog.csdn.net/lsshlsw/article/details/4915508...
    Helen_Cat阅读 4,971评论 0 1
  • 从记事开始,我就被告知,拖着长长黑黑的尾巴,常年在各个地下水道,各种潮湿阴冷,不见阳光的地方流窜着的,浑身黏黏的带...
    瑞欣的阳台阅读 253评论 0 2