spark 错误

来源:互联网 发布:淘宝如何查看买家评价 编辑:程序博客网 时间:2024/06/17 01:49

一、

Error for /api/v1/applicationsjava.lang.ClassNotFoundException: org.apache.spark.status.api.v1.ApiRequestContext

错误比较诡异,spark api 里根本没有这个类,不行的话,只能把org.apache.spark.status.api.v1,这个包在spark-core_2.11-2.1.0.jar中,复制到集群节点上

/spark/jars/hadoop/share/hadoop/yarn/lib

二、

java.lang.NoClassDefFoundError: org/neo4j/driver/v1/Config

1、提交方式为:–master spark://rtask-nod8:7077
spark 的应用/home/vpe.cripac/spark/conf/会读取/home/vpe.cripac/spark/jars/下的jar,这个就是classpath,所以需要把用到的lib copy到这里一份,而且要copy到master和slave所有的节点上,但是这很麻烦,所以需要在打包时使用assemble方式,如下链接
2、提交方式为:–master yarn
需要将缺少的jar拷贝到/home/vpe.cripac/hadoop/share/hadoop/yarn/lib下,每个节点都要拷贝

http://blog.csdn.net/a95473004/article/details/53886010

三、

java.lang.NoClassDefFoundError: Could not initialize class demo.Similarity$

解决方法:
1、将master改为yarn,同时将定义放到scala的方法里
2、将scala的object改为class

val conf =new SparkConf().setMaster("yarn").setAppName("Euclidean-Distance").set("fs.file.impl", classOf[org.apache.hadoop.fs.LocalFileSystem].getName)

四、

spark scala java.util.NoSuchElementException: None.get

解决方法:将master改为yarn,

五、
SC在一个jvm里是不能有多个的,所以不能作为参数进行传递

六、scala 序列化

extends Serializable

如果报错,则@transient
http://blog.csdn.net/sogerno1/article/details/45935159

七、

java.lang.OutOfMemoryError: Java heap space

解决方法spark.driver.memory 10g,同时,使用unpersist()释放对象

八、

val rdd1ParList=rdd1.mapPartitions(f⇒{       val v= f.map(f⇒f.toList)       v.foreach(f⇒{         println("rdd1ParList:-------------------------------")         println(f)         })         println("---------分割线---------")       v      })

其中,v是空的,因为map的时候,还没有操作

九、Spark 异常处理记录
http://arch-long.cn/2017/05/Spark-%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86%E8%AE%B0%E5%BD%95/

十、
这里写图片描述

这种错,就是集群宕机了

十一、

 WARN TaskSetManager: Stage 0 contains a task of very large size (168 KB). The maximum recommended task size is 100 KB
val rdd=sc.parallelize(list.asScala,partition)或者用reparation