CDH15.0支持spark-sql和spark-thrift-server
一、前言
CDH 自带的Spark 不支持Spark Thrift,因为spark-assembly jar中缺少Hive thrift相关的依赖包,导致CDH用户没法使用JDBC的方式连接Spark并使用Spark SQL。ApacheSpark 1.6之后spark-assembly jar 中包含了 Hive 相关的依赖包了,而恰好 CDH5.15 的spark也是 1.6,所以可以直接使用Apache Spark 1.6 之后的spark-assembly jar替换CDH的。
二、部署Spark-assembly Jar包
- 下载spark-1.6.0-bin-hadoop2.6.tgz,下载地址如下:
https://www.apache.org/dyn/closer.lua/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz
- 将下载的spark-1.6.0-bin-hadoop2.6.tgz上传至集群的任意节点并解压:
[root@daas05 software]# tar -zxvf spark-1.6.0-bin-hadoop2.6.tgz
- 将解压出来的spark-assembly-1.6.0-hadoop2.6.0.jar拷贝至CDH的jars目录:
[root@daas05 software]# cd spark-1.6.0-bin-hadoop2.6
[root@daas05 spark-1.6.0-bin-hadoop2.6]# cp /lib/spark-assembly-1.6.3-hadoop2.6.0.jar /opt/cloudera/parcels/CDH/jars/
[root@daas05 spark-1.6.0-bin-hadoop2.6]# cp lib/spark-examples-1.6.0-hadoop2.6.0.jar /opt/cloudera/parcels/CDH/jars/
- 替换CDH中spark默认的spark-assembly jar包:
[root@daas05 spark-1.6.0-bin-hadoop2.6]# cd /opt/cloudera/parcels/CDH/lib/spark/lib
[root@daas05 lib]# rm -rf spark-assembly-1.6.0-cdh5.