四、偽分佈下安裝hive1.2
宣告:本篇blog並沒有配置MySQL,元資料庫為derby
一、環境
Ubuntu14.04
hadoop2.6偽分佈(安裝教程請參考:點選開啟連結)
hive-1.2.1(下載連結:點選開啟連結)
二、安裝
1、將其下載的安裝包解壓到相應的目錄,在此小編的是/usr/local/hadoop/
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local/hadoop
重新命名操作(為了後續方便)
mv apache-hive-1.2.1-bin hive
2、配置hive的環境變數(在此注意,小編的profile中並未配置),故不細說
3、修改hive/conf下的幾個template模板,並重命名為其他
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
4、配置hive-env.sh檔案,如圖所示:
5、修改hive-site.xml檔案
在修改之前,要相應的建立目錄,以便與配置檔案中的路徑相對應,否則在執行hive時會報錯的。
mkdir -p /usr/local/hadoop/hive/warehouse
mkdir -p /usr/local/hadoop/hive/tmp
mkdir -p /usr/local/hadoop/hive/log
這個檔案中的配置項很多,篇幅也很長,所以要有耐心看。
當然也可以使用搜索匹配字串的方式進行查詢(Ctrl+F):
鍵入‘/hive.metastore.warehouse.dir’(回車)
就會鎖定到所需要的字串上。
其中有三處需要修改:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/local/hadoop/hive/warehouse
</property>
這個是設定資料目錄
-------------------------------------
<property>
<name>hive.exec.scratchdir</name>
<value>/usr/local/hadoop/hive/tmp</value>
</property>
這個是設定臨時檔案目錄
--------------------------------------
<property>
<name>hive.querylog.location</name>
<value>/usr/local/hadoop/hive/log</value>
</property>
這個是用於存放hive相關日誌的目錄
其餘的不用修改。
6、如果到此結束配置啟動hive會報錯,如下:
解決方法:
1.檢視hive-site.xml配置,會看到配置值含有"system:java.io.tmpdir"的配置項
2.新建資料夾/usr/local/hadoop/hive/log
3.將含有"system:java.io.tmpdir"的配置項的值修改為如上地址
有時候會遇到修改完還會出現上述錯誤,此時做如下處理:
可把hive/lib/jline-2.12.jar複製到hadoop/share/hadoop/yarn/lib/目錄下,將其原來的jlie給刪除了
cp /usr/local/hadoop/hive/lib/jline-2.12.jar/usr/local/hadoop/share/hadoop/yarn/lib/
rm -r /usr/local/hadoop/share/hadoop/yarn/lib/jline-0.98.jar
注意:版本不一樣jline的名稱會有所不同,具體以自己的為準
7、複製 tools.jar(jdk的lib包下面的jar包) 到 hive/lib下
啟動hive,成功!
8、啟動命令:
進入hive的解壓目錄,執行bin/hive,回車即可
啟動hive web服務:bin/hive --service hwi
埠訪問如圖 http://127.0.0.1:9999/hwi/:
三:web介面使用說明
USER模組(AUTHORIZE,使用者認證模組):
首先了解使用者 認證與會話的關係,在hwi中的User和Groups輸入使用者和所屬的使用者組,每一個使用者認證(AUTHORIZE)資訊對應著一組會話資訊,hive重啟後這些session資訊會消失:
SESSIONS模組是介面與HIVE的互動,hive重啟後,session資訊會丟失,Create Session(建立會話),List Sessions(會話管理)
首先建立一個session search_all_databases(查詢所有的資料庫):
提交之後點選List Sessions,寫入相關的資訊:Result File 是查詢結果的輸出檔案,Error File是錯誤儲存的檔案,Query中寫入你的HQL(注意結尾不用加分號),Start Query:YES,點選Submit
點選submit之後會在result File 後邊顯示一個View File,同屬Query中的查詢語句被自動加上了分號,點選View File之後顯示Hive中所有的資料庫(由於我的hive中只有一個default表,故只顯示一個):
DATABASE模組是顯示所有的資料庫:
HWI與CLI對比
如果使用過cli的朋友看了上面的介紹,一定會發現一個很嚴重的問題:執行的過程沒有提示。我們不知道某一個查詢執行是什麼時候結束的。
總結一下HWI與CLI對比的優缺點:
優點:HWI支援瀏覽器的方式瀏覽,方便直觀。
缺點:無執行過程提示。