一、概述 Hue是一個開源的Apache Hadoop UI系統,最早是由Cloudera Desktop演化而來,由Cloudera貢獻給開源社區,它是基於Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制臺上與Hadoop集群進行交互來分析處理數據,例如操作 ...
目錄
一、概述
Hue是一個開源的Apache Hadoop UI系統,最早是由Cloudera Desktop演化而來,由Cloudera貢獻給開源社區,它是基於Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制臺上與Hadoop集群進行交互來分析處理數據,例如操作HDFS上的數據,運行MapReduce Job等等。
Hue官方網站:https://gethue.com/
官方文檔:http://cloudera.github.io/hue/latest/
GitHub:https://github.com/cloudera/hue
二、Hue架構
從總體上來講,Hue應用採用的是B/S架構,該web應用的後臺採用python編程語言別寫的。大體上可以分為三層,分別是前端view層、Web服務層和Backend服務層。Web服務層和Backend服務層之間使用RPC的方式調用。
從上圖可以看出,Hue幾乎可以支持所有大數據框架,包含有HDFS文件系統對的頁面(調用HDFS API,進行增刪改查的操作),有HIVE UI界面(使用HiveServer2,JDBC方式連接,可以在頁面上編寫HQL語句,進行數據分析查詢),YARN監控及Oozie工作流任務調度頁面等等。Hue通過把這些大數據技術棧整合在一起,通過統一的Web UI來訪問和管理,極大地提高了大數據用戶和管理員的工作效率。這裡總結一下Hue支持哪些功能:
- SQL編輯器,支持Hive, Impala, MySQL, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix…
- 基於文件瀏覽器(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資料庫查詢編輯器
- 使用sentry基於角色的授權以及多租戶的管理
三、Hue安裝
1)安裝數據源
這裡以Hive為主實驗,怎麼安裝hive,可以參考我之前的文章:大數據Hadoop之——數據倉庫Hive
啟動HDFS和Hive Metastore服務
# 啟動HDFS
$ start-dfs.sh
# 啟動hive Metastore
$ nohup hive --service metastore &
$ ss -atnlp|grep 9083
# 啟動hiveserver2
$ nohup hiveserver2 > /dev/null 2>&1 &
$ jobs -l
# 啟動有點慢,可以稍等一段時間再查看埠
$ ss -antlp|grep 11000
2)安裝docker
# 安裝yum-config-manager配置工具
$ yum -y install yum-utils
# 設置yum源
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安裝docker-ce版本
$ sudo yum install -y docker-ce
# 啟動
$ sudo systemctl start docker
# 開機自啟
$ sudo systemctl enable docker
# 查看版本號
$ sudo docker --version
# 查看版本具體信息
$ sudo docker version
# Docker鏡像源設置
# 修改文件 /etc/docker/daemon.json,沒有這個文件就創建
# 添加以下內容後,重啟docker服務:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
$ sudo systemctl restart docker
3)通過Docker快速安裝
很多安裝方式,可以參考GitHub上的說明,還有快速安裝數據源的方式:https://github.com/cloudera/hue#getting-started
$ docker run -it -p 8888:8888 gethue/hue:latest
$ docker ps|grep hue
$ netstat -tnlp|grep 8888
WEB UI:http://192.168.0.113:8888/
創建超級用戶
支持很多連接器
【溫馨提示】如果埠不是預設的埠就必須修改,因為
hue.ini
裡面配置的都是各個組件預設的埠,就拿hive來說就不是預設埠,這裡得修改hue.ini
配置文件。連接器官網文檔
# hive_server_port=11000
$ docker exec -it -- amazing_faraday /bin/bash
$ sed -i s/hive_server_port=10000/hive_server_port=11000/ /usr/share/hue/desktop/conf/hue.ini
# 修改完配置重啟服務
$ docker restart amazing_faraday
3)通過CM安裝集成到CDH
CM和CDH安裝文檔:
大數據Hadoop之——Cloudera Hadoop(CM 6.3.1+CDH 6.3.2環境部署)
CM WEB UI訪問(賬號/密碼):http://hadoop-cdhmaster-168-182-161:7180/
1、添加服務
2、將 Hue 服務添加到 CDH
3、自定義角色分配
4、資料庫設置
根據之前裝CM時初始化資料庫的設置來配置
5、安裝完成
6、啟動hue服務
7、創建賬戶
4)官方demo演示
https://demo.gethue.com/
賬號/密碼:demo/demo
四、Hue簡單使用
Hue WEB UI:http://hadoop-cdhmaster-168-182-161:8888/
1)通過Hue操作HDFS
【溫馨提示】如果需要在其它用戶目錄先修改創建文件就必須授權或者創建相對於的用戶去登錄訪問
2)通過Hue操作Impala
關鍵字不區分大小寫
show databases;
use test2022;
show tables;
3)通過Hue操作Hive
show databases;
【溫馨提示】這裡連接的beeline 的hiveserver2服務,埠10000。
Hue的基礎部分就到了,如果小伙伴有疑問歡迎給我留言或者私信,後續內容更精彩,請耐心等待~