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.結束語
這篇部落格就和大家分享到這裡,如果大家在研究學習的過程當中有什麼問題,可以加群進行討論或傳送郵件給我,我會盡我所能為您解答,與君共勉!