HUE--高可用Hadoop平臺-Hue In Hadoop

開頭語(很關鍵):

談談本人自己的感受,使用的hue的過程中,初次的打開加載會很慢,如果配置的功能比較多的話效率就更慢了,由於服務器開始佈置在阿里雲上,本身訪問阿里雲就很慢,再加上軟件的加載,往往很多時候會報超時,所以還是建議各位讀者使用shell,hive的查詢速度很慢,建議用sparksql進行hive的訪問,用sparksql會快很多,而且sparksql語言支持的語法類型很多,比hive要強大很多,有些負責語法的SQLhive完全不能查,但是sparksql可以,如果需要可視化的查詢界面,還可以推薦大家使用另一款軟件【SQuirreL SQL Client


1.概述

  前面一篇博客《高可用Hadoop平臺-Ganglia安裝部署》,爲大家介紹了Ganglia在Hadoop中的集成,今天爲大家介紹另一款工具——Hue,該工具功能比較豐富,下面是今天爲大家分享的內容目錄:

  • Hue簡述
  • Hue In Hadoop
  • 截圖預覽

  本文所使用的環境是Apache Hadoop-2.6版本,下面開始今天的內容分享。

2.Hue簡述

  Hue是一個開源的Apache Hadoop UI系統,由Cloudera Desktop演化而來,最後Cloudera公司將其貢獻給Apache基金會的Hadoop社區,它是基於Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制檯上與Hadoop集羣進行交互來分析處理數據,例如操作HDFS上的數據,運行MapReduce Job,執行Hive的SQL語句,瀏覽HBase數據庫等等。

  Hue在數據庫方面,默認使用的是SQLite數據庫來管理自身的數據,包括用戶認證和授權,另外,可以自定義爲MySQL數據庫、Postgresql數據庫、以及Oracle數據庫。其自身的功能包含有:

  • 對HDFS的訪問,通過瀏覽器來查閱HDFS的數據。
  • Hive編輯器:可以編寫HQL和運行HQL腳本,以及查看運行結果等相關Hive功能。
  • 提供Solr搜索應用,並對應相應的可視化數據視圖以及DashBoard。
  • 提供Impala的應用進行數據交互查詢。
  • 最新的版本集成了Spark編輯器和DashBoard
  • 支持Pig編輯器,並能夠運行編寫的腳本任務。
  • Oozie調度器,可以通過DashBoard來提交和監控Workflow、Coordinator以及Bundle。
  • 支持HBase對數據的查詢修改以及可視化。
  • 支持對Metastore的瀏覽,可以訪問Hive的元數據以及對應的HCatalog。
  • 另外,還有對Job的支持,Sqoop,ZooKeeper以及DB(MySQL,SQLite,Oracle等)的支持。

  下面就通過集成部署,來預覽相關功能。

3.Hue In Hadoop

  本文所使用的Hadoop環境是基於Apache社區版的Hadoop2.6,在集成到Hadoop上,Hue的部署過程是有點複雜的。Hue在CDH上是可以輕鬆的集成的,我們在使用CDH的那套管理系統是,可以非常容易的添加Hue的相關服務。然而,在實際業務場景中,往往Hadoop集羣使用的並非都是CDH版的,在Cloudera公司使用將其貢獻給Apache基金會後,在Hadoop的集成也有了較好的改善,下面就爲大家介紹如何去集成到Apache的社區版Hadoop上。

3.1基礎軟件

  在集成Hue工具時,我們需要去下載對應的源碼,該系統是開源免費的,可以在GitHub上下載到對應的源碼,下載地址如下所示:

[email protected]:cloudera/hue.git

  我們使用Git命令將其克隆下來,命令如下所示:

git clone [email protected]:cloudera/hue.git

  然後,我們在Hadoop賬號下安裝Hue需要的依賴環境,命令如下所示:

sudo yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel

  等待其安裝完畢。

3.2編譯部署

  在基礎環境準備完成後,我們開始對Hue的源碼進行編譯,編譯的時候,Python的版本需要是2.6+以上,不然在編譯的時候會出現錯誤,編譯命令如下所示:

[hadoop@nna ~]$ cd hue
[hadoop@nna ~]$ make apps

  等待其編譯完成,在編譯的過程中有可能會出現錯誤,在出現錯誤時Shell控制檯會提示對應的錯誤信息,大家可以根據錯誤信息的提示來解決對應的問題,在編譯完成後,我們接下來需要對其做對應的配置,Hue的默認配置是啓動本地的Web服務,這個我們需要對其修改,供外網或者內網去訪問其Web服務地址,我們在Hue的根目錄下的desktop/conf文件夾下加pseudo-distributed.ini文件,然後我們對新增的文件添加如下內容:

vi pseudo-distributed.ini
複製代碼
[desktop]
http_host=10.211.55.28
http_port=8000
[hadoop]
    [[hdfs_clusters]]
        [[[default]]]
            fs_defaultfs=hdfs://cluster1
            logical_name=cluster1
            webhdfs_url=http://10.211.55.26:50070/webhdfs/v1
            hadoop_conf_dir=/home/hadoop/hadoop-2.6.0/etc/hadoop
[beeswax]
    hive_server_host=10.211.55.17
    hive_server_port=10000
    # hive_conf_dir=/home/hive/warehouse
[hbase]
    hbase_clusters=(cluster1|10.211.55.26:9090)
    hbase_conf_dir=/home/hadoop/hbase-1.0.1/conf
複製代碼

  關於Hue的詳細和更多配置需要,大家可以參考官方給的知道文檔,連接地址如下 所示:

http://cloudera.github.io/hue/docs-3.8.0/manual.html

  這裏,Hue的集成就完成了,下面可以輸入啓動命令來查看,命令如下所示:

[hadoop@nna ~]$ /root/hue-3.7.1/build/env/bin/supervisor &

  啓動信息如下所示:

  下面,在瀏覽器中輸入對應的訪問地址,這裏我配置的Port是8000,在第一次訪問時,需要輸入用戶名和密碼來創建一個Administrator,這裏需要在一步的時候需要注意下。

4.截圖預覽

  下面附上Hue的相應的截圖預覽,如下圖所示:

5.總結

  在編譯的時候,大家需要注意Hue的依賴環境,由於我們的Hadoop集羣不是CDH版本的,所以在集成Hue的服務不能像CDH上那麼輕鬆。在Apache的Hadoop社區版上集成部署,會需要對應的環境,若是缺少依賴,在編譯的時候是會發生錯誤的。所以,這裏需要特別留心注意,出錯後,一般都會有提示信息的,大家可以根據提示檢查定位出錯誤原因。

6.結束語

  這篇博客就和大家分享到這裏,如果大家在研究學習的過程當中有什麼問題,可以加羣進行討論或發送郵件給我,我會盡我所能爲您解答,與君共勉!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章