1、CDH簡介
大家認(rèn)知度比較高的Hadoop項目一般指的是Apache的Hadoop啥刻,但是該項目版本比較復(fù)雜可帽,兼容性也很差蒲肋,一般沒法直接用于生產(chǎn)兜粘。所以針對這個情況,衍生了幾個比較著名的第三方版本(CDH剃法、HDP路鹰、MapR)晋柱,核心內(nèi)容還是基于原生的hadoop代碼。但是相對于原生版钦椭,第三方的版本的版本管理清晰碑诉,兼容性好进栽,有大量的生產(chǎn)項目實踐經(jīng)驗,更有簡單易用的部署方案格嗅,最后的監(jiān)控管理也非常人性化,所以生產(chǎn)項目中都是直接選用這些版本(有免費版和收費版建芙,免費版對于一般性項目完全滿足需求)禁荸。
2阀湿、版本下載
下載地址:http://archive.cloudera.com/cdh5/cdh/5/
注意:每個hadoop生態(tài)圈的組成都有各自的版本,但是一定要注意他對應(yīng)的cdh版本號映砖,要保持一致(這里下載hadoop-2.6.0-cdh5.14.0-src.tar.gz和hive-1.1.0-cdh5.14.0-src.tar.gz邑退,都是源碼地技,自己編譯自己安裝)秒拔。
3砂缩、編譯準(zhǔn)備
wget方式下載以上兩個源碼tar包,放到hadoop用戶家目錄下source文件夾中妹懒。
安裝jdk1.7(建議64位)彬伦、maven3.3.9伊诵、 findbugs1.3.9回官、protobuf-2.5.0和其他依賴(具體請參考hadoop源碼編譯 - 簡書)
注意:我們下載的源碼都是要求用jdk1.7編譯的歉提,本人經(jīng)過測試修改pom.xml的jdk版本限制区转,但是測試1.8編譯失敗废离,如果有誰成功了蜻韭,可以私聊分享一下柿扣,交流學(xué)習(xí)未状。
4司草、編譯hadoop和hive
cdh版hadoop編譯安裝和Apache版編譯安裝一致,沒有任何區(qū)別猜憎,請參考和hadoop偽分布式搭建 - 簡書
$tar? -xzvf? hive-1.1.0-cdh5.14.0-src.tar.gz
$cd hive-1.1.0-cdh5.14.0-src
$mvn clean package -Pdist,native -DskipTests -Dtar
錯誤1:
這個編譯命令是我直接復(fù)制的hadoop的編譯命令(本人是maven小白),最后發(fā)現(xiàn)編譯報錯辣辫,說是缺少一些hadoop的jar包,經(jīng)過反復(fù)測試查找姐浮,懷疑是-P參數(shù)的問題卖鲤,所以去查了一下蛋逾,但是了解的還是不是特別清楚区匣,只是根據(jù)項目和資料修改了編譯命令(參考maven命令-P 參數(shù)引發(fā)的思考 - CSDN博客)
$mvn clean package -Phadoop2 -DskipTests -Dtar
注意:這個編譯命令還是不完整的亏钩,雖然編譯沒問題,但是不會產(chǎn)生編譯的tar包姑丑,需要修改成下方命令:
$mvn clean package -Phadoop2,dist -DskipTests -Dtar
錯誤2(該錯誤不影響編譯結(jié)果震肮,但是看著很礙眼):
org.apache.maven.project.ProjectBuildingException:Error resolving project artifact: Failure to transfer org.pentaho:pentaho-aggdesigner-algorithm:pom:5.1.5-jhyde from https://repository.cloudera.com/content/repositories/snapshots was cachedinthe local repository, resolution will not be reattempted until the update interval of cdh.snapshots.repohas elapsedorupdates are forced. Original error: Could not transfer artifact org.pentaho:pentaho-aggdesigner-algorithm:pom:5.1.5-jhyde from/to cdh.snapshots.repo(https://repository.cloudera.com/content/repositories/snapshots): Failed to transfer file: https://repository.cloudera.com/content/repositories/snapshots/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/pentaho-aggdesigner-algorithm-5.1.5-jhyde.pom. Return code is:409, ReasonPhrase: Conflict. for project org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde
解決辦法:
修改pom.xml(在repositorys標(biāo)簽下添加)
5钙蒙、MySQL安裝配置
?參考 Linux安裝MySQL5.6(tar包安裝) - 簡書 躬厌,安裝完成后新建數(shù)據(jù)庫hive(編碼為latin1)
6扛施、安裝hive
$cd? /home/hadoop/source/hive-1.1.0-cdh5.14.0/packaging/target
$tar -xzvf? apache-hive-1.1.0-cdh5.14.0-bin.tar.gz? -C ? /home/hadoop/app/
$cd /home/hadoop/app/
$mv apache-hive-1.1.0-cdh5.14.0-bin? hive-1.1.0-cdh5.14.0
7疙渣、hive配置
$cd? hive-1.1.0-cdh5.14.0/conf
$cp hive-env.sh.template hive-env.sh
$vi? hive-env.sh
修改JAVA_HOME為真實路徑妄荔,添加HADOOP_HOME的路徑
$vi? hive-site.xml?? //該文件不存在啦租,需要創(chuàng)建
8篷角、啟動測試
$cd /home/hadoop/app/hadoop-2.6.0-cdh5.14.0/
$sbin/start-all.sh
$cd? /home/hadoop/app/hive-1.1.0-cdh5.14.0
$bin/hive