Cloudera之旅 ☞ 【二】Spark-sql部署

本文详细介绍了如何在Cloudera环境中编译并部署Spark SQL,以解决社区版Spark不兼容CDH的问题。主要步骤包括:调整mvn内存、修改pom.xml文件以适应Cloudera的Hive版本、添加特定的mvn库、执行编译以及部署assembly jar文件。过程中需要注意Scala和Java版本的一致性,以及针对Cloudera的特定配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

重新编译spark 增加spark-sql适配CDH
让cloudera manager装的spark支持hql
Building Spark

概述

由于cloudera自带的spark-yarn不支持没有spark-sql(也许是cloudera推广自己的impala吧),但是如果我们线上要用spark直接写原生的必然效率低很多
这里简单描述下自己遇到的两个超级大坑

  • 刚开始没注意,直接看了下cdh5.4.3带的spark版本(1.3.0)然后直接从官网下载下来个编译是编译完成了,最后jar打进去发现社区的spark对应的hive是0.13版本直接hive的metstore版本对不上,惨了。
  • 从cloudera的官网下载spark1.3.0-cloudera源码编译,死活hive-thriftserver编译不过去,追其原因是由于spark1.3.0支持的hive最高到0.13版本,而cloudera5.4.3支持的hive是1.1.0(好吧cloudera直接给你挖个坑等着你跳)

无奈,最后直接从官网下载最新版的spark1.6(也不一定最新版,内置hive版本高于cloudera的都可以)

环境

  • cloudera manager:5.5.0(免费版)
    • hadoop:2.6.0
    • hive:1.1.0
  • maven:3.3.9
  • spark :1.6(社区最新版本)
    • 说明spark1.3.0对应hive是0.12和0.13不支持1.1.0+(这里相当坑)
  • scala :2.10.5
  • java :1.7.0_67

注意:
- 这里特别说明CM中的Hadoop和hive版本是由于默认spark社区使用的hadoop、hive与cloudera内置的不相同,这里我们要在编译的时候调整pom.xml文件
- 其次这里我们scala和java尽量的和spark内置版本一致

部署

调整mvn内存

spark官方要求编译时候内存要设置2G以上

[root@testhost43 spark-1.6.0]# export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

调整pom.xml文件

注意这里由于我们整的是cloudera的包,所以还得改hive.group为org.apache.hive才能找到hive-exec-xxx-clo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值