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》
从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
1.在CDH5.16.1环境下使用原生的spark-hive-thriftserver_2.11-2.4.3.jar包
进行部署测试,报如下错误提示找不到方法:
java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.session.SessionState.reloadAuxJars()V), serverProtocolVersion:null)