1. 程式人生 > >hue 3.7.0安裝部署

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
作業系統為mac 10.9,依賴的包,安裝我推薦使用mac強大的port,具體使用這裡就不展開說了,大家可以google下對應的用法。 MacOS (mac port):
  • 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-login
首次登入,選擇使用的使用者即為Hue管理員使用者,許可權很大,可以新增使用者並管理使用者及其使用者組的操作許可權。

  • Hue使用者首頁

登入成功以後,進入Hue Web控制檯首頁,如下圖所示:
hue-index
登入成功後,首先會執行一些基本環境的配置檢查工作,它與我們實際修改配置時都指定了哪些應用有關係。

  • Hive查詢編輯器頁面

使用者登入成功後,選擇Query Editors下面的Hive選單項,如圖所示:
hue-hive-query
在提交查詢的時候,由於該查詢執行時間較長,可以等待查詢執行,最後結果顯示在的現房的Results標籤頁上,也可以在執行過程中檢視Hive後臺執行情況。

  • Job瀏覽器頁面

通過Job瀏覽器(Job Browser)頁面http://10.10.4.125:8000/jobbrowser/,可以檢視執行在Hadoop叢集上各種狀態的Job,包括Succeeded、Running、Failed、Killed這4種狀態,如圖所示:
hue-job-browser
如果想要看到Job具體執行狀態資訊,需要正確配置並啟動Hadoop叢集的JobHistoryServer和WebAppProxyServer服務,可以通過Web頁面看到相關資料,我們的示例,如圖所示:
hue-job-browser-detail
如果想看某個Job對應的MapTask或者ReduceTask執行情況,可以點選對應連結進去,和通過Hadoop YARN的Job Web管理介面類似,監控起來非常方便。

  • 使用者管理和授權認證

以授權管理員使用者登入成功後,可以通過點選右上角使用者(我這裡是yanjun),下拉列表中有“Manage Users”選單項,在這裡面可以建立新使用者,並指定訪問許可權,如下圖所示:
hue-manage-users
上面,我建立了幾個使用者,並指定使用者所屬的組(Groups,支援組管理)。實際上,我們可以將不同的Hue應用設定為不同的組,然後將新建的使用者分配到該相關組,通過這種方式可以控制使用者訪問Hue應用的許可權。上面建立並分配許可權的使用者可以通過設定的使用者名稱和口令登入Hue Web管理系統,與各種Hadoop相關的應用(不僅僅限於此,如MySQL、Spark等)進行互動。


總結 安裝過程還是比較順利的,希望大家可以參考我提供的軟體包的版本,以免碰到不必要的麻煩。