Hue簡介
Hue是一組WEB應(yīng)用,用于和MRS大數(shù)據(jù)組件進(jìn)行交互,能夠幫助用戶瀏覽HDFS,進(jìn)行Hive查詢,啟動(dòng)MapReduce任務(wù)等,它承載了與所有MRS大數(shù)據(jù)組件交互的應(yīng)用。Hue主要包括了文件瀏覽器和查詢編輯器的功能:
文件瀏覽器能夠允許用戶直接通過界面瀏覽以及操作HDFS的不同目錄。
查詢編輯器能夠編寫簡單的SQL,查詢存儲(chǔ)在Hadoop之上的數(shù)據(jù),例如HDFS,HBase,Hive。 用戶可以方便地創(chuàng)建、管理、執(zhí)行SQL,并且能夠以Excel的形式下載執(zhí)行的結(jié)果。
通過Hue可以在界面針對(duì)組件進(jìn)行以下操作:
組件名稱
|
操作類型
|
---|---|
HDFS |
1、查看、創(chuàng)建、管理、重命名、移動(dòng)、刪除文件/目錄。 2、上傳、下載文件。 3、搜索文件、目錄、文件所有人、所屬用戶組;修改文件以及目錄的屬主和權(quán)限。 4、手動(dòng)配置HDFS目錄存儲(chǔ)策略,配置動(dòng)態(tài)存儲(chǔ)策略等操作。 |
Hive |
1、編輯、執(zhí)行SQL/HQL語句;保存、復(fù)制、編輯SQL/HQL模板;解釋SQL/HQL語句;保存SQL/HQL語句并進(jìn)行查詢。 2、數(shù)據(jù)庫展示,數(shù)據(jù)表展示。 3、支持多種Hadoop存儲(chǔ)。 4、通過metastore對(duì)數(shù)據(jù)庫及表和視圖進(jìn)行增刪改查等操作。 |
Impala |
1、編輯、執(zhí)行SQL/HQL語句;保存、復(fù)制、編輯SQL/HQL模板;解釋SQL/HQL語句;保存SQL/HQL語句并進(jìn)行查詢。 2、數(shù)據(jù)庫展示,數(shù)據(jù)表展示。 3、支持多種Hadoop存儲(chǔ)。 4、通過metastore對(duì)數(shù)據(jù)庫及表和視圖進(jìn)行增刪改查等操作。 |
MapReduce |
查看集群中正在執(zhí)行和已經(jīng)完成的MR任務(wù),包括它們的狀態(tài)、起始結(jié)束時(shí)間、運(yùn)行日志等。 |
Oozie |
提供了Oozie作業(yè)管理器功能,使用戶可以通過界面圖形化的方式使用Oozie。 |
ZooKeeper |
提供了ZooKeeper瀏覽器功能,使用戶可以通過界面圖形化的方式查看ZooKeeper。 |
Hue結(jié)構(gòu)
Hue是建立在Django Python(開放源代碼的Web應(yīng)用框架)的Web框架上的Web應(yīng)用程序,采用了MTV(模型M-模板T-視圖V)的軟件設(shè)計(jì)模式。
Hue由“Supervisor Process”和“WebServer”構(gòu)成,“Supervisor Process”是Hue的核心進(jìn)程,負(fù)責(zé)應(yīng)用進(jìn)程管理?!癝upervisor Process”和“WebServer”通過“THRIFT/REST”接口與WebServer上的應(yīng)用進(jìn)行交互,如圖所示。
- Supervisor Process
Supervisor負(fù)責(zé)WebServer上APP的進(jìn)程管理:啟動(dòng)、停止、監(jiān)控等。
- Hue WebServer
通過Django Python的Web框架提供如下功能:
1、部署APPs。
2、提供圖形化用戶界面。
3、與數(shù)據(jù)庫連接,存儲(chǔ)APPs的持久化數(shù)據(jù)。

Hue與其他組件的關(guān)系
Hue與Hadoop集群的交互關(guān)系如圖所示。
組件名稱
|
與Hue的關(guān)系
|
---|---|
HDFS |
HDFS提供REST接口與Hue交互,用于查詢、操作HDFS文件。 在Hue把用戶請(qǐng)求從用戶界面組裝成接口數(shù)據(jù),通過調(diào)用REST接口調(diào)用HDFS,通過瀏覽器返回結(jié)果呈現(xiàn)給用戶。 |
Hive |
Hive提供THRIFT接口與Hue交互,用于執(zhí)行Hive SQL、查詢表元數(shù)據(jù)。 在Hue界面編輯HQL語句,通THRIFT接口提交HQL語句到HIVESERVER執(zhí)行,同時(shí)把執(zhí)行通過瀏覽器呈現(xiàn)給用戶。 |
Yarn/MapReduce |
MapReduce提供REST與Hue交互,用于查詢Yarn作業(yè)信息。 進(jìn)入Hue頁面,輸入篩選條件參數(shù),UI將參數(shù)發(fā)送到后臺(tái),Hue通過調(diào)用MapReduce(MR1/MR2-YARN)提供的REST接口,獲取任務(wù)運(yùn)行的狀態(tài),起始結(jié)束時(shí)間、運(yùn)行日志等信息。 |
Oozie |
Oozie提供REST接口與Hue交互,用于創(chuàng)建工作流、Coordinator、Bundle,以及它們的任務(wù)管理和監(jiān)控。 在Hue前端提供圖形化工作流、Coordinator、Bundle編輯器,Hue調(diào)用Oozie REST接口對(duì)工作流、Coordinator、Bundle進(jìn)行創(chuàng)建、修改、刪除、提交、監(jiān)控。 |
ZooKeeper |
ZooKeeper提供REST接口與Hue交互,用于查詢ZooKeeper節(jié)點(diǎn)信息。 在Hue前端顯示ZooKeeper節(jié)點(diǎn)信息,Hue調(diào)用ZooKeeper REST接口獲取這些節(jié)點(diǎn)信息。 |
Impala |
Impala提供Hue beeswax接口與Hue交互,用于執(zhí)行Hive SQL、查詢表元數(shù)據(jù)。 在Hue界面編輯HQL語句,通Hue beeswax接口提交HQL語句到HIVESERVER執(zhí)行,同時(shí)把執(zhí)行結(jié)果通過瀏覽器呈現(xiàn)給用戶。 |

Hue開源增強(qiáng)特性
-
存儲(chǔ)策略定義
HDFS文件存儲(chǔ)在多種等級(jí)的存儲(chǔ)介質(zhì)中,有不同的副本數(shù)。本特性可以手工設(shè)置HDFS目錄的存儲(chǔ)策略,或者根據(jù)HDSF文件最近訪問時(shí)間和最近修改時(shí)間,自動(dòng)調(diào)整文件存儲(chǔ)策略、修改文件副本數(shù)、移動(dòng)文件所在目錄、自動(dòng)刪除文件,以便充分利用存儲(chǔ)的性能和容量。
HDFS文件存儲(chǔ)在多種等級(jí)的存儲(chǔ)介質(zhì)中,有不同的副本數(shù)。本特性可以手工設(shè)置HDFS目錄的存儲(chǔ)策略,或者根據(jù)HDSF文件最近訪問時(shí)間和最近修改時(shí)間,自動(dòng)調(diào)整文件存儲(chǔ)策略、修改文件副本數(shù)、移動(dòng)文件所在目錄、自動(dòng)刪除文件,以便充分利用存儲(chǔ)的性能和容量。
-
MR引擎及可靠性增強(qiáng)
用戶執(zhí)行Hive SQL可以選擇使用MR引擎執(zhí)行。
Hue自身主備部署。Hue與HDFS、Oozie、Hive、Yarn等對(duì)接時(shí),支持Failover或負(fù)載均衡工作模式。
用戶執(zhí)行Hive SQL可以選擇使用MR引擎執(zhí)行。
Hue自身主備部署。Hue與HDFS、Oozie、Hive、Yarn等對(duì)接時(shí),支持Failover或負(fù)載均衡工作模式。