您的位置:首页 > 运维架构 > Apache

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

2015-10-14 10:55 531 查看
在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,采用编程模式运行。

更多交流学习:欢迎email: sparkexpert@sina.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: