oozie5.0.0 运行spark action问题解决过程

前沿

在本人安装完oozie5.0之后,运行了自带的mapreduce,还有spark的示例,spark运行模式采用yarn cluster模式,能够运行成功。

当初安装完oozie之后的hadoop的配置为<value>*=/etc/hadoop/conf</value>,,本文系统中hadoop是cloudrea安装的,这个位置查看是是有hadoop的配置一般采用link连接最后是有hadoop的配置文件的,应该生效了,因为看 oozie:launcher 加载的jar包文件包括 /data/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/lib下的。

但是配置的spark的配置<value>*=/etc/spark2/conf</value>,我在服务器查看这个link文件最后的目录是空的。(当初也没想应该吧这个配置去掉看看情况的)。

之后开始运行自己的spark action程序,spark程序一般是调用hive中的数据之后用spark mllib运算。程序是我同事写的,我修改了部分参数的输入形式。程序在服务器中通过spark2-shell可以正常运行。

1. 运行spark action

运行之后出现错误

java.lang.IllegalArgumentException: Unable to instantiate SparkSession with Hive support because Hive classes are not found.

应该是缺少包看了一下share lib下spark中包有spark-hive2.10-2.1版本。没有spark-exec等,于是进行了以下几步,顺序忘记了
(1)复制spark-exec-1.2.1.spark2,spark-matestore-1.2.1.spark2等主要的包,无效还是找不到, 不行

Caused by: org.datanucleus.exceptions.NucleusUserException: Error : Could not find API definition for name "JDO". Perhaps you dont have the requisite datanucleus-api-XXX jar in the CLASSPATH?

之后添加jar,更换jaskon版本等还是不行 都解决之后保存找不到数据库。

(2)难道是版本不对,于是把share lib目录下的所有jar的scala版本都更新到2.11版本,以前编译的是2.10这个是修改pom.xml,还是不行
(3)那是什么问题难道是本地程序对应的spark版本不对于是用spark2.1编译一般,有用spark-shell运行都可以。还是不行。
(4)后来想是不是版本不对1.2.1的不能连接hive1.1.0,因为毕竟是命令行可以运行运算吧spark安装目录下边的spark-hive版本还有hive相关jar放入sharelib中,还是不行,
(5)将本地spark项目整个打包jar提交运行结果找不到类
(6)将所有的本地依赖与sharelib中sparkjar包中的一一对比想sharelib中添加(这个过程用了1个小时,当时想早知道就这样了,整个打成jar是还出现问题搞了半天)

这是又出现问题是hive metastore问题,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值