實現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中新增
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模式會報錯