spark master开发中org.apache.spark.serializer.JavaDeserializationStream错误解决

2022-05-07 13:50:17 浏览数 (1)

在spark开发过程中,一直想在程序中进行master的开发,如下代码:

val conf = new SparkConf().setMaster("spark://hostname:7077").setAppName("Spark Pi")

但是直接进行此项操作,老是碰到org.apache.spark.serializer.JavaDeserializationStream错误,找了很多资料,有各种各样的解决办法,看过代码后也尝试过用kryo来进行序列化,倒是没有报错,但就一直没有结果。因此肯定此项思路不通。

于是终于费劲地找到原因如下: 报错的意思应该是没有将jar包提交到spark的worker上面 导致运行的worker找不到被调用的类,才会报上述错误,因此设置个JAR,果然搞定。

    val conf = new SparkConf().setMaster("spark://ubuntu-bigdata-5:7077").setAppName("Spark Pi")      .setJars(List("/home/ndscbigdata/simpleSparkApp.jar"))

通过此次调试,才明白后续调试可以先在local模式下进行解决,之后再生成JAR,采用编程模式运行。

0 人点赞