環境介紹
hadoop是cdh4.2.0的版本,搭建見十分鐘搭建自己的hadoop2/cdh4叢集
hive版本可以是cdh4.2.0的hive-0.10.0,下載下傳包(win直接下載下傳解壓會失敗,建議linux下wget下載下傳)。也可以是hive-0.9.0(shark-0.7包裡自帶的amp實驗室提供的版本)。兩個版本我都嘗試了,都是可以的,使用後者這個版本比較低的hive的原因是為了使用shark。
metastore則是一個mysql,隻有你有mysql server,随便create 一個 空的database即可。
hive部署
1. conf下面的hive-default等配置不需要改變,增加hive-site.xml,為其添加如下基本配置:
dir相關:
hwi相關:
jdbc相關:
2. 在hive_home/lib下要添加mysql-driver包
3. hadoop_home如果沒有在環境變量裡的話,請在conf/hive-env.sh裡export
3. 啟動hive,可以用bin/hive,但是這樣報錯無法定位到具體原因,建議使用
啟動,特别是初次使用和建立的metastore,會遇到一些問題。
debug hive
bin/hive初次啟動hive,執行 select tables; 可能會遇到如下錯誤:
使用下面方式啟動hive,
可能會遇到如下問題:
問題一:
解決方法,用mysql登入檢視hive的metastore資料庫,執行
參考資料:http://stackoverflow.com/questions/9665535/why-do-i-get-binary-logging-not-possible-on-my-mysql-server
問題二:
解決方法,執行
參考資料:http://www.cnblogs.com/blueren/archive/2011/06/29/sir_001.html
如遇到其他問題,可能多數是和metastore有關,自行查閱之。
test hive
啟動自己的hadoop dfs和yarn,啟動hive,建立表:
如果出錯資訊為:
解決方法是去hive庫裡執行
然後使用examples目錄下提供的一些測試資料和腳本,嘗試插入資料:
kv1-kv6共有六份txt,然後執行
體驗下mr過程有多蠻長吧。。
(我最簡單對比了下,hive使用了14s,用shark僅1s,後續針對hive vs shark會有專門的博文)
(全文完)