Hive On Spark 安裝成功之後的總結
Hive On Spark官方文件:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started
首先,之前憑藉自己的錯覺以為使用官網提供好的安裝包之後就可以,後來各種實驗各種問題。最後下決心進行自己編譯原始碼進行安裝。經過兩天的摸索最終還是成功了!!功夫還是不負有心人的,以後要多多有耐心,細心做事。
接下來言歸正傳,正如hive官網說的hive on spark,hive的版本要without hadoop,所以需要自行編譯spark。此處沒有想象那麼困難,要有動手的勇氣和激情,很多問題都會迎刃而解,編譯原始碼,第一步就是下載原始碼,個人推薦去GitHub上下載需要的原始碼包,因為這個更新的及時,官網下載的原始碼有時候沒有及時更新,會讓你走很多彎路。下面就說一下原始碼編譯過程:
由於國內使用maven非常卡,所以推薦maven倉庫配置成阿里巴巴的倉庫,速度非常給力的。
倉庫地址如下:
<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
編譯Spark原始碼一定要參考官網文件,網上部落格有時候老舊可能讓你陷入困境。筆者深有體會。
如果想修改Spark的scala類庫版本等可以修改Saprk-source根目錄的pom檔案。
配置一下maven的引數,防止編譯過程記憶體溢位。
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
使用如下指令碼:
其中引數含義分別為:make-distribution.sh --name custom-spark --tgz --mvn ${MAVEN_HOME}/bin/mvn -Phadoop-2.4 -Phive -Phive-thriftserver -Pmesos -Pyarn
--name custom-spark //指定壓縮包名字
--tgz //生成tgz的部署包
--mvn ${MAVEN_HOME}/bin/mvn //指定使用自己本地配置的mvn,不指定預設使用spark-source/build下面的mvn
最後生成的安裝包早Spark原始碼根目錄。
到此,假設你已經編譯好了Spark安裝包,部署即可。
接下來,Github下載hive原始碼,此處要修改Hive依賴的Spark版本和Hadoop以及Scala類庫版本。
修改好版本(修改pom.xml)之後便可以進行編譯,使用mvn clean package -Pdist -Dmaven.test.skip=true編譯即可。(可以跳過測試步驟,否則太慢)
Hive官方編譯文件:
$ git clone https://git-wip-us.apache.org/repos/asf/hive.git $ cd hive $ mvn clean package -Pdist $ cd packaging/target/apache-hive-{version}-SNAPSHOT-bin/apache-hive-{version}-SNAPSHOT-bin $ ls LICENSE NOTICE README.txt RELEASE_NOTES.txt bin/ (all the shell scripts) lib/ (required jar files) conf/ (configuration files) examples/ (sample input and query files) hcatalog / (hcatalog installation) scripts / (upgrade scripts for hive-metastore)
最後輸出目錄:
packaging/target/apache-hive-{version}-SNAPSHOT-bin/apache-hive-{version}-SNAPSHOT-bin
例如我的輸出目錄:
/home/daxin/installData/source/hive-2.1.1/packaging/target/apache-hive-2.2.0-SNAPSHOT-bin/apache-hive-2.2.0-SNAPSHOT-bin
(Hive編譯遇見的問題‘參見:http://blog.csdn.net/dax1n/article/details/58594789)
假定此時你已經編譯好Hive原始碼。
安裝MySQL資料庫,建立資料庫,同時安裝Hive(安裝過程另寫博文補充)。
安裝好執行:schematool -dbType MySQL -initSchema 把之前建立的元資料都同步到mysql 裡。
此處遇見的:“schematool -dbType MySQL -initSchema ” 命令直接複製輸入進去之後,竟然報錯。
File /home/daxin/bigdata/Hive/scripts/metastore/upgrade/MySQL/upgrade.order.MySQLnot
found
參見:http://blog.csdn.net/dax1n/article/details/58614516
後來去 /home/daxin/bigdata/Hive/scripts/metastore/upgrade/MySQL/看檔案也確實存在,只不過檔名字大小寫不一致,後來
懷疑schematool -dbType MySQL -initSchema中MySQL的問題,自己改成:schematool -dbType mysql -initSchema
最後元資料同步資料庫完畢之後啟動元資料服務,之後啟動Hive指令碼設定set hive.execution.engine=spark;
啟動元資料服務:hive --service metastore &
建立表:
create table t_u(id string,age int ,salary double) row format delimited fields terminated by ' ' lines terminated by '\n' stored as textfile ;
create table t_s(id string,age int ,salary double) row format delimited fields terminated by ' ' lines terminated by '\n' stored as textfile ;
匯入資料:
load data inpath '/uu' into table t_s;
load data inpath '/uu' into table t_u;
之後寫一個查詢測試:select u.age from t_u u ,t_s s where u.age =s.age;
竟然又報錯了:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Iterable
此時不過還是喜悅的,感覺離success已經不遠了。最後發現是hive沒有載入spark jars原因,解決方案:在hive指令碼中載入spark jars即可,具體步驟參見:
http://blog.csdn.net/dax1n/article/details/58252094
此時在輸入:select u.age from t_u u ,t_s s where u.age =s.age;
Hadoop YARN 介面:
Spark Job介面:
到此已經完成安裝!
相關推薦
Hive On Spark 安裝成功之後的總結
Hive On Spark官方文件:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started 首先,之前憑藉自己的錯覺以為使用官網提供好的安裝包之後就可以,後來各種實
Hive on Spark安裝配置詳解(都是坑啊)
簡介 本文主要記錄如何安裝配置Hive on Spark,在執行以下步驟之前,請先確保已經安裝Hadoop叢集,Hive,MySQL,JDK,Scala,具體安裝步驟不再贅述。 背景 Hive預設使用MapReduce作為執行引擎,即Hive on mr。實際上,H
hive on spark安裝
Hive on spark安裝 1. 下載apache-hive-2.0.0-bin.tar.gz,安裝。(儘量安裝和hive相對應的版本spark和hadoop) 2. 編譯spark(不帶hive的) ./make-distribution.sh--
hive on spark通過YARN-client提交任務不成功
在Hive on spark中 設定spark.master 為 yarn-client , 提交HiveQL任務到yarn上執行,發現任務無法執行 輸出一下錯誤: 可以看到 Hive on S
hive on spark的安裝及問題
配置hive hive-site <property> <name>hive.metastore.uris</name> <value>thrift://database:9083</value>
spark 2.0.0集群安裝與hive on spark配置
3.6 temp format info port urn mysql5.7 del cnblogs 1. 環境準備: JDK1.8 hive 2.3.4 hadoop 2.7.3 hbase 1.3.3 scala 2.11.12 mysql5.7
Hive On Spark執行計劃總結
1、 Hive on Spark EXPLAIN statement在Hive中,命令Explain可以用來檢視查詢的執行計劃。對於Hive on Spark,這個命令本身不會改變,還會表現的和以前一樣。它仍然會顯示依賴語法樹和每個stage階段的執行計劃。然後,如果hiv
SparkSQL與Hive on Spark的比較
.cn local 順序 沒有 針對 ast custom spark manager 簡要介紹了SparkSQL與Hive on Spark的區別與聯系一、關於Spark簡介在Hadoop的整個生態系統中,Spark和MapReduce在同一個層級,即主要解決分布式計算框
hive on spark VS SparkSQL VS hive on tez
dir csdn cluster 並且 http 緩沖 快速 bsp pos http://blog.csdn.net/wtq1993/article/details/52435563 http://blog.csdn.net/yeruby/article/details
hive on spark
技術分享 engine sele park cut bsp 配置 spark lec hive on spark 的配置及設置CDH都已配置好,直接使用就行,但是我在用的時候報錯,如下: 具體操作如下時報的錯: 在hive 裏執行以下命令: set
sparksql\hive on spark\hive on mr
Hive on Mapreduce Hive的原理大家可以參考這篇大資料時代的技術hive:hive介紹,實際的一些操作可以看這篇筆記:新手的Hive指南,至於還有興趣看Hive優化方法可以看看我總結的這篇Hive效能優化上的一些總結 Hive on Mapreduce執行流程
hive on spark 效能引數調優
select * from stg_bankcard_auth_apply where length(idcardno) >= 1 and length(idcardno) <> 32; --該表儲存檔案格式為txt格式,是原始檔直接load進來的,mapreduce執行不管任何s
Hive on Spark調優
之前在Hive on Spark跑TPCx-BB測試時,100g的資料量要跑十幾個小時,一看CPU和記憶體的監控,發現 POWER_TEST階段(依次執行30個查詢)CPU只用了百分之十幾,也就是沒有把整個叢集的效能利用起來,導致跑得很慢。因此,如何調整引數,使整個叢集發揮最大效能顯得尤為
第四天 -- Accumulator累加器 -- Spark SQL -- DataFrame -- Hive on Spark
第四天 – Accumulator累加器 – Spark SQL – DataFrame – Hive on Spark 文章目錄 第四天 -- Accumulator累加器 -- Spark SQL -- DataFrame -- Hive on Spark
SparkSQL和hive on Spark
SparkSQL簡介 SparkSQL的前身是Shark,給熟悉RDBMS但又不理解MapReduce的技術人員提供快速上手的工具,hive應運而生,它是當時唯一執行在Hadoop上的SQL-on-hadoop工具。但是MapReduce計算過程中大量的中間磁碟落地過程消耗了大量的I/O,降低的執行效率,為
Hive on spark 報錯FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.spark
cp /opt/cloudera/parcels/CDH-5.13.3-1.cdh5.13.3.p0.2/lib/spark/lib/spark-assembly.jar /opt/cloudera/parcels/CDH-5.13.3-1.cdh5.13.3.p0.2/lib/hive/lib
大資料利用hive on spark程式操作hive
hive on spark 作者:小濤 Hive是資料倉庫,他是處理有結構化的資料,當資料沒有結構化時hive就無法匯入資料,而它也是遠行在mr程式之上
Hive on Spark 偽分散式環境搭建過程記錄
進入hive cli是,會有如下提示: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. s
hive on spark開發demo
public class SparkHiveTest { public static void main(String[] args) { String warehous
基於Spark2.0搭建Hive on Spark環境(Mysql本地和遠端兩種情況)
Hive的出現可以讓那些精通SQL技能、但是不熟悉MapReduce 、程式設計能力較弱與不擅長Java語言的使用者能夠在HDFS大規模資料集上很方便地利用SQL 語言查詢、彙總、分析資料,畢竟精通SQL語言的人要比精通Java語言的多得多。Hive適合處理離線非實時資料。h