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上下載到對應的源碼,下載地址如下所示:
git@github.com:cloudera/hue.git
我們使用Git命令將其克隆下來,命令如下所示:
git clone git@github.com: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.結束語
這篇博客就和大家分享到這里,如果大家在研究學習的過程當中有什么問題,可以加群進行討論或發送郵件給我,我會盡我所能為您解答,與君共勉!