前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工作中遇到的Spark错误(持续更新)

工作中遇到的Spark错误(持续更新)

作者头像
shengjk1
发布2018-10-24 15:25:33
1.8K0
发布2018-10-24 15:25:33
举报
文章被收录于专栏:码字搬砖码字搬砖

1.java.io.IOException: No spa ce left on device 原因及解决办法:磁盘空间不足

2.

代码语言:javascript
复制
2016-10-09 13:20:12  INFO main utils.VerifiableProperties:68 - Property zookeeper.connect is overridden to 
2016-10-09 13:20:33  INFO main consumer.SimpleConsumer:68 - Reconnect due to socket error: java.nio.channels.ClosedChannelException

原因及解决办法:kafka连接错误,1.要么地址配置错误 2.kafka没有启动 3.zk没有完全启动

3.Spark空指针 原因及解决办法:1.常常发生空指针的地方(用之前判断是否为空) 2.RDD与DF互换时由于字段个数对应不上也会发生空指针

4.

代码语言:javascript
复制
org.apache.spark.SparkException: Found both spark.executor.extraClassPath and SPARK_CLASSPATH. Use only the former.

原因及解决办法:Don’t set SPARK_CLASSPATH

5.Spark Streaming 报错:kafka.cluster.BrokerEndPoint cannot be cast to kafka.cluster.Broker 原因及解决办法:Kafka: 1.Spark Streaming 1.6.2/1.5 is compatible with Kafka 0.8.2.1,秩序将pom.xml中kafka版本改一下即可。2.kafka序列化问题(引包错误等)

6.

代码语言:javascript
复制
WARN Timer-0 scheduler.TaskSchedulerImpl:70 - Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered a
nd have sufficient resources

资源不足

7.一直都Added jobs for time 1476335820000 ms 查看日志,才能发现问题

8.yarn-client:16/11/08 10:22:46 INFO yarn.Client: Application report for application_1478571349204_0002 (state: ACCEPTED) 资源不足

9.spark用的是匿名内部类,异常是抛不到上一层的。

10.机器重启,yarn关闭程序都会造成这种现象

代码语言:javascript
复制
16/11/29 00:03:00 ERROR scheduler.JobScheduler: Error in job generator
java.lang.NullPointerException
        at org.apache.spark.storage.BlockManagerMaster. (BlockManagerMaster.scala:104)
        at org.apache.spark.SparkContext.unpersistRDD(SparkContext.scala:1623)
        at org.apache.spark.rdd.RDD.unpersist(RDD.scala:203)
        at org.apache.spark.streaming.dstream.DStream$$anonfun$clearMetadata$3.apply(DStream.scala:469)
        at org.apache.spark.streaming.dstream.DStream$$anonfun$clearMetadata$3.apply(DStream.scala:468)
        at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:107)
        at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:107)
        at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226)

Spark可以自己监测“缓存”空间的使用,并使用LRU算法移除旧的分区数据。我们也可以通过显式调用RDD unpersist()手动移除数据。

11.yarn-client模式下没有OOM但yarn-cluster模式下OOM了,则一定是driver端OOM的,更进一步是永久代的OOM 无论是client模式还是Cluster模式,driver都是运行在JVM中的,但Client模式下Driver默认的JVM的永久代大小是128M,而Cluster模式下默认大小为82M. 解决办法:在spark-submit时候设定conf部分的spark.driver.extraJavaOptions:-XX:PermSize=256M –MaxPermSize=256M

12.Spark中driver的stack overflow 堆栈溢出 一般有两种: 1.过于深度的递归 2.过于复杂业务的调用链(很少见) spark之所以会出现可能是SparkSql中过多的OR,因为sql在sparkSql会通过Catalyst首先变成一颗树并最终变成RDD的编码

13.spark streaming连接kafka报can not found leader 原因 1.repatition为1,挂掉之后就找不到leader了。 2.repatition>1,但由于数据同步跟不上leader,从syns列表中将其移除。 解决办法: 1.增大repatition数即可 2.增大num.replica.fetchers的值,此参数是Replicas从Leader同步数据的线程数,默认为1,增大此参数即增大了同步IO。经过测试,增大此值后,不再有追不上的情况

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年10月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档