天天看點

Hive on CDH4部署、調錯及測試

環境介紹

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會有專門的博文)

(全文完)