笨鸟的平凡之路-记一次spark错误

在集群运行spark时出现java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)

查询得知是版本对应问题
CDH版的spark是1.6.0版本
本地编写代码中的pom文件引用的是2.2.3版本的Spark
在这里插入图片描述

之后在集群部署了2.X版本的Spark 2
在这里插入图片描述然后在控制台找到类似:
/opt/cloudera/parcels/SPARK2-2.1.0.cloudera4-1.cdh5.13.3.p0.818552/bin的目录,走到该目录下运行程序(默认需要运行的jar包已经上传到集群)
命令–
client模式:
./spark2-submit --class 主类名–master yarn --executor-memory 1g --total-executor-cores 2 spark的jar包所在目录
cluster模式:
./spark2-submit --class 主类名 --master yarn --deploy-mode cluster --executor-memory 1g --total-executor-cores 2 spark的jar包所在目录


如果有同学在本地idea中跑spark程序时也遇到类似问题,主类运行不了,定位的代码行是new Sparkconf()时,可以考虑是否也是因为版本问题,需要将scala版本与Spark对应上.
比如我的pom文件中的scala版本是2.11.8版本,但是在idea中默认的是2.10.6版本,所以会冲突,需要将idea中的scala版本更改.
第一步:
在这里插入图片描述

第二步:
在这里插入图片描述

如果idea中下载不了对应的scala版本,建议先在本地下载,然后在上图的第2步导入.
在这里插入图片描述

scala下载地址:https://www.scala-lang.org/download/all.html
具体如何下载就不用我细说了吧?
注意你用的是Mac还是Windows,对应的下载包不一样.
在这里插入图片描述

解压之后就可以导入添加了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值