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模式會報錯