Fayson的github: https://github.com/fayson/cdhproject
推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f
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-如何在Kerberos环境下的CDH集群部署Spark2.1的Thrift及spark-sql客户端》
从Spark2.2开始到最新的Spark2.4,因为变化较大,不能够采用上述两种办法直接替换jar包的方式实现,更多的依赖问题导致需要重新编译或者修改更多的东西才能在CDH5中使用最新的Spark2.4的Thrift。本文主要介绍使用网易的一个开源工具Kyuubi来实现Spark Thrift的功能。
- 测试环境:
1.Redhat7.4
2.CDH5.16.1
3.集群未启用Kerberos
4.Spark2.4.0.cloudera2-1
2 Kyuubi介绍
Kyuubi是Apache Spark的原始Thrift JDBC/ODBC服务的增强版,它由网易开源,并已经使用过到了网易现有的大数据平台中。它主要用于将Spark SQL直接运行到集群,其中包括与HDFS,YARN,Hive Metastore等组件的集成,并且它本身也具备安全功能。Kyuubi是一个可以保证端到端多租户的Spark Thrift服务。
Thrift JDBC/ODBC可以基于Spark SQL提供ad-hoc的SQL查询服务,充当JDBC/ODBC或命令行的分布式查询引擎。在这个模式下,最终用户或应用程序可以直接使用SQL的