在開發工作當中,送出 Hadoop 任務,任務的運作詳情,這是我們所關心的,當業務并不複雜的時候,我們可以使用 Hadoop 提供的指令工具去管理 YARN 中的任務。在編寫 Hive SQL 的時候,需要在 Hive 終端,編寫 SQL 語句,來觀察 MapReduce 的運作情況,長此以往,感覺非常的不便。另外随着業務的複雜化,任務的數量增加,此時我們在使用這套流程,已預感到力不從心,這時候 Hive 的監控系統此刻便尤為顯得重要,我們需要觀察 Hive SQL 的 MapReduce 運作詳情以及在 YARN 中的相關狀态。
是以,我們經過調研,從網際網路公司的一些需求出發,從各位 DEVS 的使用經驗和回報出發,結合業界的一些大的開源的 Hadoop SQL 消息監控,用監控的一些思考出發,設計開發了現在這樣的監控系統:Hive Falcon。
Hive Falcon 用于監控 Hadoop 叢集中被送出的任務,以及其運作的狀态詳情。其中 Yarn 中任務詳情包含任務 ID,送出者,任務類型,完成狀态等資訊。另外,還可以編寫 Hive SQL,并運 SQL,檢視 SQL 運作詳情。也可以檢視 Hive 倉庫中所存在的表及其表結構等資訊。下載下傳位址,如下所示:
[Hive Falcon 下載下傳位址]
Hive Falcon 涉及以下内容:
Dashboard
Query
Tables
Tasks
Clients & Nodes
我們通過在浏覽器中輸入 http://host:port/hf,通路 Hive Falcon 的 Dashboard 頁面。該頁面包含以下内容:
Hive Clients
Hive Tables
Hadoop DataNodes
YARN Tasks
Hive Clients Graph
如下圖所示:

Query 子產品下,提供一個運作 Hive SQL 的界面,該界面可以用來檢視觀察 SQL 運作的 MapReduce 詳情。包含 SQL 編輯區,日志輸出,以及結果展示。如下圖所示:
提示:在 SQL 編輯區可以通過 Alt+/ 快捷鍵,快速調出 SQL 關鍵字。
Tables 展示 Hive 中所有的表資訊,包含以下内容:
表名
表類型(如:内部表,外部表等)
所屬者
存放路徑
建立時間
每一個表名都附帶一個超連結,可以通過該超連結檢視該表的表結構,如下圖所示:
Tasks 子產品下所涉及的内容是 YARN 上的任務詳情,包含的内容如下所示:
All(所有任務)
Running(正在運作的任務)
Finished(已完成的任務)
Failed(以失敗的任務)
Killed(已失敗的任務)
該子產品展示 Hive Client 詳情,以及 Hadoop DataNode 的詳情,如下圖所示:
指令
描述
hf.sh start
啟動 Hive Falcon
hf.sh status
檢視 Hive Falcon
hf.sh stop
停止 Hive Falcon
hf.sh restart
重新開機 Hive Falcon
hf.sh stats
檢視 Hive Falcon 在 Linux 系統中所占用的句柄數量
Hive Falcon 系統的各個子產品的資料來源,所包含的内容,如下圖所示:
本文轉自xmgdc51CTO部落格,原文連結:http://blog.51cto.com/12953214/1940570 ,如需轉載請自行聯系原作者