hue 3.7.0安裝部署
Hue是一個開源的Apache Hadoop UI系統,最早是由Cloudera Desktop演化而來,由Cloudera貢獻給開源社群,它是基於Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制檯上與Hadoop叢集進行互動來分析處理資料,例如操作HDFS上的資料,執行MapReduce Job等等。很早以前就聽說過Hue的便利與強大,一直沒能親自嘗試使用,下面先通過官網給出的特性,通過翻譯原文簡單瞭解一下Hue所支援的功能特性集合:
- 預設基於輕量級sqlite資料庫管理會話資料,使用者認證和授權,可以自定義為MySQL、Postgresql,以及Oracle
- 基於檔案瀏覽器(File Browser)訪問HDFS
- 基於Hive編輯器來開發和執行Hive查詢
- 支援基於Solr進行搜尋的應用,並提供視覺化的資料檢視,以及儀表板(Dashboard)
- 支援基於Impala的應用進行互動式查詢
- 支援Spark編輯器和儀表板(Dashboard)
- 支援Pig編輯器,並能夠提交指令碼任務
- 支援Oozie編輯器,可以通過儀表板提交和監控Workflow、Coordinator和Bundle
- 支援HBase瀏覽器,能夠視覺化資料、查詢資料、修改HBase表
- 支援Metastore瀏覽器,可以訪問Hive的元資料,以及HCatalog
- 支援Job瀏覽器,能夠訪問MapReduce Job(MR1/MR2-YARN)
- 支援Job設計器,能夠建立MapReduce/Streaming/Java Job
- 支援Sqoop 2編輯器和儀表板(Dashboard)
- 支援ZooKeeper瀏覽器和編輯器
- 支援MySql、PostGresql、Sqlite和Oracle資料庫查詢編輯器
相關軟體:
- Hue-3.7.0(branch-3.7.1)
- Hadoop-2.2.0
- Hive-0.14
- Python-2.7.5
- liblxml
- libxml2
- libxslt
- mysql5-devel
- sqlite3
這裡只介紹通過hue連線hive的使用方法,其他比如spark,mysql等會隨著研究的深入進行新增。 (hadoop,hive等安裝配置這裡不再介紹) 基於上面的軟體工具,要保證正確安裝和配置。需要說明的是,我們通過Hue來執行Hive查詢,需要啟動HiveServer2服務。
bin/hiveserver2
然後,執行如下命令進行Hue軟體包的下載構建:
cd /usr/local/ sudo git clone https://github.com/cloudera/hue.git branch-3.7.1 sudo chown -R hadoop:hadoop branch-3.7.1/ cd branch-3.7.1/ make apps
上述過程如果沒有任何問題,我們就已經安裝好Hue。Hue的配置檔案為/usr/local/branch-3.7.1/desktop/conf/pseudo-distributed.ini,預設的配置檔案不能正常執行Hue,所以需要修改其中的內容,與我們對應的Hadoop叢集配置相對應。該配置檔案根據整合不同的軟體,將配置分成多個段,每個段下面還有子段,便於管理配置,如下所示(省略子段名稱):
- desktop
- libsaml
- libopenid
- liboauth
- librdbms
- hadoop
- filebrowser
- liboozie
- oozie
- beeswax
- impala
- pig
- sqoop
- proxy
- hbase
- search
- indexer
- jobsub
- jobbrowser
- zookeeper
- spark
- useradmin
- libsentry
Hue配置段 | Hue配置項 | Hue配置值 | 說明 |
desktop | default_hdfs_superuser | hadoop | HDFS管理使用者 |
desktop | http_host | 10.10.4.125 | Hue Web Server所在主機/IP |
desktop | http_port | 8000 | Hue Web Server服務埠 |
desktop | server_user | hadoop | 執行Hue Web Server的程序使用者 |
desktop | server_group | hadoop | 執行Hue Web Server的程序使用者組 |
desktop | default_user | yanjun | Hue管理員 |
hadoop/hdfs_clusters | fs_defaultfs | hdfs://hadoop6:8020 | 對應core-site.xml配置項fs.defaultFS |
hadoop/hdfs_clusters | hadoop_conf_dir | /usr/local/hadoop/etc/hadoop | Hadoop配置檔案目錄 |
hadoop/yarn_clusters | resourcemanager_host | hadoop6 | 對應yarn-site.xml配置項yarn.resourcemanager.hostname |
hadoop/yarn_clusters | resourcemanager_port | 8032 | ResourceManager服務埠號 |
hadoop/yarn_clusters | resourcemanager_api_url | http://hadoop6:8088 | 對應於yarn-site.xml配置項yarn.resourcemanager.webapp.address |
hadoop/yarn_clusters | proxy_api_url | http://hadoop6:8888 | 對應yarn-site.xml配置項yarn.web-proxy.address |
hadoop/yarn_clusters | history_server_api_url | http://hadoo6:19888 | 對應mapred-site.xml配置項mapreduce.jobhistory.webapp.address |
beeswax | hive_server_host | 10.10.4.125 | Hive所在節點主機名/IP |
beeswax | hive_server_port | 10000 | HiveServer2服務埠號 |
beeswax | hive_conf_dir | /usr/local/hive/conf | Hive配置檔案目錄 |
上面主要配置了Hadoop叢集相關的內容,以及Hive(beeswax段配置的是Hive,通過HIveServer2與Hive互動)。
最後,啟動Hue服務,執行如下命令:
cd /usr/local/branch-3.7.1/ build/env/bin/supervisor &
- Hue登入頁面
Hue服務啟動成功後,可以直接通過瀏覽器開啟連線http://10.10.4.125:8000/,就可以登入。第一次開啟,需要輸入預設使用者和口令,然後就可以登入進去,如下圖所示:
首次登入,選擇使用的使用者即為Hue管理員使用者,許可權很大,可以新增使用者並管理使用者及其使用者組的操作許可權。
- Hue使用者首頁
登入成功以後,進入Hue Web控制檯首頁,如下圖所示:
登入成功後,首先會執行一些基本環境的配置檢查工作,它與我們實際修改配置時都指定了哪些應用有關係。
- Hive查詢編輯器頁面
使用者登入成功後,選擇Query Editors下面的Hive選單項,如圖所示:
在提交查詢的時候,由於該查詢執行時間較長,可以等待查詢執行,最後結果顯示在的現房的Results標籤頁上,也可以在執行過程中檢視Hive後臺執行情況。
- Job瀏覽器頁面
通過Job瀏覽器(Job Browser)頁面http://10.10.4.125:8000/jobbrowser/,可以檢視執行在Hadoop叢集上各種狀態的Job,包括Succeeded、Running、Failed、Killed這4種狀態,如圖所示:
如果想要看到Job具體執行狀態資訊,需要正確配置並啟動Hadoop叢集的JobHistoryServer和WebAppProxyServer服務,可以通過Web頁面看到相關資料,我們的示例,如圖所示:
如果想看某個Job對應的MapTask或者ReduceTask執行情況,可以點選對應連結進去,和通過Hadoop YARN的Job Web管理介面類似,監控起來非常方便。
- 使用者管理和授權認證
以授權管理員使用者登入成功後,可以通過點選右上角使用者(我這裡是yanjun),下拉列表中有“Manage Users”選單項,在這裡面可以建立新使用者,並指定訪問許可權,如下圖所示:
上面,我建立了幾個使用者,並指定使用者所屬的組(Groups,支援組管理)。實際上,我們可以將不同的Hue應用設定為不同的組,然後將新建的使用者分配到該相關組,通過這種方式可以控制使用者訪問Hue應用的許可權。上面建立並分配許可權的使用者可以通過設定的使用者名稱和口令登入Hue Web管理系統,與各種Hadoop相關的應用(不僅僅限於此,如MySQL、Spark等)進行互動。
總結 安裝過程還是比較順利的,希望大家可以參考我提供的軟體包的版本,以免碰到不必要的麻煩。