Hadoop可視化分析利器之Hue

各位同學們好!

俺老孫最近收到了同學的關心

也是非常的老淚縱橫啊

所以今天我們來講講Hue的故事

好吧雖然前後沒有什麼聯繫~~

那麼Hue又是個什麼東西呢?

Hue是一個可快速開發和調試Hadoop生態系統

各種應用的一個基於瀏覽器的圖形化用戶介面

我們來看一下他的主要架構

那麼我們來看看都用Hue幹什麼

訪問HDFS和文件瀏覽

通過web調試和開發hive以及數據結果展示

查詢solr和結果展示,報表生成

通過web調試和開發impala互動式SQL Query

spark調試和開發

Pig開發和調試

oozie任務的開發,監控,和工作流協調調度

Hbase數據查詢和修改,數據展示

Hive的元數據(metastore)查詢

MapReduce任務進度查看,日誌追蹤

創建和提交MapReduce,Streaming,Java job任務

Sqoop2的開發和調試

Zookeeper的瀏覽和編輯

資料庫(MySQL,PostGres,SQlite,Oracle)的查詢和展示

如果你們公司用的是CDH的hadoop,那麼很幸運,Hue也是出自CDH公司,自家的東西用起來當然很爽。

如果你們公司用的是Apache Hadoop或者是HDP的hadoop,那麼也沒事,Hue是開源的,而且支持任何版本的hadoop。

關於什麼時候用,這純屬一個錦上添花的功能,你完全可以不用hue,因為各種開源項目都有自己的使用方式和開發介面,hue只不過是統一了各個項目的開發方式在一個介面里而已,這樣比較方便而已,不用你一會準備使用hive,就開一個hive的cli終端,一會用pig,你就得開一個pig的grunt,或者你又想查Hbase,又得需要開一個Hbase的shell終端。如果你們使用hadoop生態系統的組件很多的情況下,使用hue還是比較方便的,另外一個好處就是hue提供了一個web的界面來開發和調試任務,不用我們再頻繁登陸Linux來操作了。

你可以在任何時候,只要能上網,就可以通過hue來開發和調試數據,不用再裝Linux的客戶端來遠程登陸操作了,這也是B/S架構的好處。

那麼我們怎麼get到這個牛逼的工具呢

這個俺老孫就得好好講講了

Hue的依賴(centos系統)

Java代碼

在安裝hue前,centos上已經安裝好了,jdk,maven,ant,hadoop,hive,oozie等,環境變數如下:

Java代碼

俺老孫主要是採用tar包的方式安裝hue,除了tar包的方式,hue還能採用cm安裝,當然這就與cdh的系統依賴比較大了。

hue最新的版本是3.11.0

下載地址:github.com/cloudera/hue

hue的github地址:github.com/cloudera/hue

下載完後,解壓tar包,並進入hue的根目錄執行命令。

make apps編譯

編譯成功後,需要配置/home/search/hue/desktop/conf/pseudo-distributed.ini文件,裡面包含了hdfs,yarn,mapreduce,hive,oozie,pig,spark,solr等的ip地址和埠號配置,可根據自己的情況設置,如果沒有安裝某個應用,那就無須配置,只不過這個應用在web上不能使用而已,並不會影響其他框架的使用。

啟動hue,執行命令:build/env/bin/supervisor

Java代碼

然後我們就可以訪問安裝機ip+8000埠來查看了

工具箱界面

Hive的界面

在配置Hive的時候,需要注意以下幾個方面:

Hive的metastrore的服務和hiveserver2服務都需要啟動

執行下面命令

除此之外,還需要關閉的hive的SAL認證,否則,使用hue訪問會出現問題。

注意下面三項的配置

Java代碼

除了上面的配置外,還需要把hive.server2.long.polling.timeout的參數值,默認是5000L給改成5000,否則使用beenline連接時候,會出錯,這是hive的一個bug。

pig的界面

solr的界面如下

最後需要注意一點,hue也需要在hadoop的core-site.xml裡面配置相應的代理用戶,示例如下:

Java代碼

到這裡我們的hue已經能完美工作了

我們可以根據自己的需要

定製相應的app插件

非常靈活

是不是感覺很牛逼

跟著俺老孫

好好學習天天向上吧哈哈~~

下回見


推薦閱讀:

TAG:Hadoop | HueLED | 大数据 |