实现CDH支持Spark SQL功能

CDH内嵌spark版本不支持spark-sql,可能是因为cloudera在推自己的impala;如果上线spark却不能使用sql这种结构化语言,对于大部分分析人员其实是很不爽的!so,就手动实现支持spark-sql的功能吧


1.下载spark的包
http://www.apache.org/   -》    右上角download   -》 HTTP  http://apache.fayea.com/  -》 http://apache.fayea.com/spark/ -》http://apache.fayea.com/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz

2.解压spark包spark-1.6.0-bin-hadoop2.6

3.获取spark包lib中的spark-assembly-1.6.0-hadoop2.6.0.jar,

4.在cdh集群中找一个点安装原生spark,可以放到cdh的安装目录/opt/cloudera/parcels/CDH/lib/中

5.将spark包中的conf中的配置文件替换成其他cdh spark节点中spark的配置(/etc/spark/conf/)

6.在cm管理界面-spark界面-配置中修改spark-defaults.conf(Spark Client Advanced Configuration Snippet (Safety Valve) for spark-conf/spark-defaults.conf),添加spark.yarn.jar属性,值为spark-assembly-1.6.0-hadoop2.6.0.jar在hdfs上的路径(spark.yarn.jar=/spark_jars/spark-assembly-1.6.0-hadoop2.6.0.jar);在spark-env.sh中添加HADOOP_CONF_DIR=$HADOOP_CONF_DIR:/etc/hive/conf
export HADOOP_CONF_DIR。保存修改,部署客户端配置,重启spark集群,拷贝配置到原生的spark配置中

7.启动spark sql server:在原生spark节点k3执行---》sh /opt/cloudera/parcels/CDH/lib/spark/sbin/start-thriftserver.sh 

8.在任一安装spark节点执行beeline -u jdbc:hive2://k3:10000/default 进入spark sql命令行模式。


问题:

后来当在cdh spark节点submit程序时,yarn-client模式会报错

 Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 0.0 failed 1 times, most recent failure: Lost task 2.0 in stage 0.0 (TID 2, localhost): java.lang.RuntimeException: Stream '/jars/spark-assembly-1.6.0-hadoop2.6.0.jar' was not found. 
意思是jar包冲突了,我将cdh中spark lib目录下jar包全部替换成了原生spark的lib/中jar,再次运行程序就好了。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunyang098

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值