java.lang.NoSuchMethodError: scala.runtime.ObjectRef.create(Ljava/lang/Object;)Lscala/runtime/Object

在使用spark进行开发时,本地运行成功,但是上传到集群发生如下错误:

java.lang.NoSuchMethodError: scala.runtime.ObjectRef.create(Ljava/lang/Object;)Lscala/runtime/ObjectRef;


此问题是由于本地编译时用到的scala版本和Spark集群所用Scala版本不一致导致的,可以通过修改本地scala版本号进行解决。

打开Spark Job监控页面,默认端口是4040,点击environment,可以查看到scala版本,如图所示。

可以发现,集群所用版本为2.10.5,而本地编译时使用的是2.11.7,所以修改本地scala版本,然后rebuild,提交集群运行,成功!

posted @ 2020-12-20 19:39  一叶知秋。  阅读(341)  评论(0编辑  收藏  举报