CDH 6.3.2集群运行碰到这个问题 hive execution version == hive metastore version.

Exception in thread "main" java.lang.IllegalArgumentException: Builtin jars can only be used when hive execution version == hive metastore version. Execution: 2.1 != Metastore: 1.2.1. Specify a valid path to the correct hive jars using spark.sql.hive.metastore.jars or change spark.sql.hive.metastore.version to 2.1.

今天运行集群的时候出现了这个问题
先声明CDH 的hive 的执行版本是 2.1 这个没有问题,
对应的 spark.sql.hive.metastore.version 应该也是设置一样的 2.1
在这里插入图片描述
这样设置没有问题;
在这里插入图片描述
看看yarn 报的错,是版本指定不匹配导致的;那么先检查一下集群中的是否存在 hive 1.2.1 的jar 包

[root@sz-h37-v-bd-master02 ~]# find  /opt/cloudera/ -name *metastore*.jar

查询一下
在这里插入图片描述
主要的执行jar 环境里没有出现;
再查看一下oozie 的HDFS 目录,是否有其他的jar 包;

在这里插入图片描述
再图上这个目录下,检查一下是否有hive-metastore 版本有1.2.1 的,如果没有的恭喜你,不是集群系统的问题;
另一个方法,专门写一个程序测试一下你的代码;再集群上运行测试;
最后发现问题的原因是再spark job UI 界面找到问题;
再

在这里插入图片描述
发现这个运行的版本不对,
发现这个是我本地运行的版本,我不应该的呀,那么问题出来了,为什么好端端的调用了本地的测试环境的设置
在这里插入图片描述
再检查所有代码中发现这个问题;
之前偷懒不想写隐式转换,我偷懒再本地运行的时候写了一个全局变量
在这里插入图片描述
很多object里有添加了这个,
导致集群运行环境里面出现了执行hive -metastore 是1.2.1 的版本,
所以一直报错,这就是问题所在!!!
以后长点心吧!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值