四、偽分佈下安裝hive1.2

Thinkgamer_gyt發表於2015-07-30

宣告:本篇blog並沒有配置MySQL,後設資料庫為derby

如需配置mysql請點選:http://blog.csdn.net/gamer_gyt/article/details/47776369

一、環境

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</value>
     </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/:



Yes!


三: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模組是顯示所有的資料庫:


最下邊的::  Diagnostics     是系統的相關診斷資訊

HWI與CLI對比

如果使用過cli的朋友看了上面的介紹,一定會發現一個很嚴重的問題:執行的過程沒有提示。我們不知道某一個查詢執行是什麼時候結束的。

總結一下HWI與CLI對比的優缺點:

優點:HWI支援瀏覽器的方式瀏覽,方便直觀。

缺點:無執行過程提示。



相關文章