整合hive基于cdh6_0645-6.2.0-为什么我在CDH6上使用Spark2.4 Thrift失败了

本文详述了在CDH6环境下尝试使用Spark2.4部署Thrift服务的各种方法,包括Spark原生Thrift部署、编译Spark源码、Intellij编译CDH源码等,以及遇到的Hive版本兼容性问题和解决思路,最终因Spark2.4不支持Hadoop3+Hive2导致失败。
摘要由CSDN通过智能技术生成

1.文档编写目的

Fayson在前面的文章中介绍过什么是Spark Thrift,Spark Thrift的缺陷,以及Spark Thrift在CDH5中的使用情况,参考《0643-Spark SQL Thrift简介》。

在CDH5中通过自己单独安装的方式运行Thrift服务现在已经调通并在使用的是如下版本组合:

1.在CDH5中安装Spark1.6的Thrift服务,参考《0079-如何在CDH中启用Spark Thrift》

2.在CDH5中安装Spark2.1的Thrift服务,参考《0280-CDH部署Spark2.1的Thrift》

47fd604d62e21ec3c58003eed16e60c8.png

从Spark2.2开始到最新的Spark2.4,因为变化较大,不能够采用上述两种办法直接替换jar包的方式实现,更多的依赖问题导致需要重新编译或者修改更多的东西才能在CDH5中使用最新的Spark2.4的Thrift。在CDH5基于网易开源的工具Kyuubi实现的Spark2.4 Thrift功能,参考《0644-5.16.1-如何在CDH5中使用Spark2.4 Thrift》。本文主要描述在CDH6.2基于的Spark2.4安装Thrift服务的所有尝试。

  • 测试环境:

1.Redhat7.4

2.CDH6.2

3.集群未启用Kerberos

4.Spark2.4.0.cloudera2-1

2.在CDH6中使用Spark Thrift

2.1.Spark原生Thrift部署

通过使用Spark官网提供的原生Thrift包在C5和C6环境下进行部署尝试。

http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.7.tgz
f0a5527dbed74b0ee176dd4a59a214af.png

1.在CDH5.16.1环境下使用原生的spark-hive-thriftserver_2.11-2.4.3.jar包

c97a0ea85c3cbca28868cd6f4dc43650.png

进行部署测试,报如下错误提示找不到方法:

java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.session.SessionState.reloadAuxJars()V), serverProtocolVersion:null)
108fea1aa59b01e6cff810e1b6a60a19.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值