1、HUE的基本介紹
1.1 什麼是HUE
HUE,即Hadoop User Experience.Hue是一個開源的Apache Hadoop UI系統,由Cloudera Desktop演化而來,最後Cloudera公司將其貢獻給Apache基金會的Hadoop社區,它是基於Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制檯上與Hadoop集羣進行交互來分析處理數據,例如操作HDFS上的數據,運行MapReduce Job,執行Hive的SQL語句,瀏覽HBase數據庫等等。
1.2 HUE網站鏈接
· Site: http://gethue.com/
· Github: https://github.com/cloudera/hue
· Reviews: https://review.cloudera.org
1.3 Hue的架構
1.4 HUE核心功能
-
SQL編輯器,支持Hive, Impala, MySQL, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix等
-
搜索引擎Solr的各種圖表
-
對Spark和Hadoop的友好界面支持
-
支持調度系統Apache Oozie,可進行workflow的編輯、查看
-
訪問HDFS和文件瀏覽
-
通過web調試和開發hive以及數據結果展示
-
查詢solr和結果展示,報表生成
-
通過web調試和開發impala交互式SQL Query
-
spark調試和開發
-
oozie任務的開發,監控,和工作流協調調度
-
Hbase數據查詢和修改,數據展示
-
Hive的元數據(metastore)查詢
-
MapReduce任務進度查看,日誌追蹤
-
創建和提交MapReduce,Streaming,Java job任務
-
Sqoop2的開發和調試
-
Zookeeper的瀏覽和編輯
-
數據庫(MySQL,PostGres,SQlite,Oracle)的查詢和展示
總結:Hue是一個友好的界面集成框架,可以集成我們各種大數據框架,一個界面就可以做到查看以及執行所有的框架.
HUE提供的這些功能相比Hadoop生態各組件提供的界面更加友好,但是一些需要debug的場景可能還是需要使用原生系統才能更加深入的找到錯誤的原因.HUE中查看Oozie workflow時,也可以很方便的看到整個workflow的DAG圖,不過在最新版本中已經將DAG圖去掉了,只能看到workflow中的action列表和他們之間的跳轉關係,想要看DAG圖的仍然可以使用oozie原生的界面系統查看。
2、Hue的安裝
Hue的安裝支持多種方式,包括rpm包的方式進行安裝,tar.gz包的方式進行安裝以及cloudera manager的方式來進行安裝等,我這裏使用tar.gz包的方式來進行安裝.
第一步:下載Hue的壓縮包並上傳到linux解壓
-
Hue的壓縮包的下載地址:http://archive.cloudera.com/cdh5/cdh/5/
-
我這裏使用的是CDH5.14.2這個對應的版本,具體下載地址爲:
-
http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.14.2.tar.gz
下載然後上傳到node03服務器的/zsc/soft路徑下
cd /zsc/soft
tar -zxvf hue-3.9.0-cdh5.14.2.tar.gz -C /zsc/install
第二步:編譯安裝啓動
2.1、linux系統安裝依賴包
- 聯網安裝各種必須的依賴包
sudo yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel gmp-devel libffi gcc gcc-c++ kernel-devel openssl-devel gmp-devel openldap-devel
2.2、配置Hue
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
#通用配置
[desktop]
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
http_host=node03
is_hue_4=true
time_zone=Asia/Shanghai
server_user=hadoop
server_group=hadoop
default_user=hadoop
default_hdfs_superuser=hadoop
#配置使用mysql作爲hue的存儲數據庫
[[database]]
engine=mysql
host=node03
port=3306
user=root
password=123456
name=hue
2.3、創建mysql數據庫
create database hue default character set utf8 default collate utf8_general_ci;
注意:實際工作中,還需要爲hue這個數據庫創建對應的用戶,並分配權限.
grant all on hue.* to 'hue'@'%' identified by 'hue';
2.4、準備進行編譯
node03服務器執行以下命令準備進行編譯
cd /zsc/install/hue-3.9.0-cdh5.14.2
sudo make apps
2.5、linux系統添加普通用戶hue
node03執行以下命令,創建普通用戶
sudo useradd hue
sudo passwd hue
2.6、啓動hue進程
node03執行以下命令啓動hue
cd /zsc/install/hue-3.9.0-cdh5.14.2
sudo build/env/bin/supervisor
2.7、頁面訪問
-
訪問地址 http://node03:8888
-
第一次訪問的時候,需要設置管理員用戶和密碼,我安裝hadoop的用戶名與密碼分別是hadoop 123456 儘量保持一致.
-
進入之後發現我們的hue頁面報錯了,這個錯誤主要是因爲hive的原因,因爲我們的hue與hive集成的時候出錯了,所以我們需要配置我們的hue與hive進行集成
3、hue與其他框架的集成
3.1、hue與hadoop的HDFS以及yarn集成
第一步:更改所有hadoop節點的core-site.xml配置
- 集羣所有機器更改core-site.xml
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
- 更改完core-site.xml之後一定要重啓hdfs與yarn集羣
第二步:更改所有hadoop節點的hdfs-site.xml
- 集羣所有服務器更改hdfs-site.xml添加以下配置
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
第三步:重啓hadoop集羣
在node01機器上面執行以下命令
cd /zsc/install/hadoop-2.6.0-cdh5.14.2
sbin/stop-dfs.sh
sbin/start-dfs.sh
sbin/stop-yarn.sh
sbin/start-yarn.sh
第四步:停止hue的服務,並繼續配置hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
#配置hue與hdfs集成
[[hdfs_clusters]]
[[[default]]]
fs_defaultfs=hdfs://node01:8020
webhdfs_url=http://node01:50070/webhdfs/v1
hadoop_hdfs_home=/zsc/install/hadoop-2.6.0-cdh5.14.2
hadoop_bin=/zsc/install/hadoop-2.6.0-cdh5.14.2/bin
hadoop_conf_dir=/zsc/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop
#配置hue與yarn集成
[[yarn_clusters]]
[[[default]]]
resourcemanager_host=node01
resourcemanager_port=8032
submit_to=True
resourcemanager_api_url=http://node01:8088
history_server_api_url=http://node01:19888
- node03執行以下命令進行重新啓動hue服務
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.2、配置hue與hive集成
如果需要配置hue與hive的集成,我們需要啓動hive的metastore服務以及hiveserver2服務:
- impala需要hive的metastore服務
- hue需要hvie的hiveserver2服務
第一步:更改hue的配置hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[beeswax]
hive_server_host=node03
hive_server_port=10000
hive_conf_dir=/zsc/install/hive-1.1.0-cdh5.14.2/conf
server_conn_timeout=120
auth_username=hadoop
auth_password=123456
[metastore]
#允許使用hive創建數據庫表等操作
enable_new_create_table=true
第二步:啓動hive的metastore服務
- node03機器上啓動hive的metastore以及hiveserver2服務
cd /zsc/install/hive-1.1.0-cdh5.14.2/conf
nohup bin/hive --service metastore &
nohup bin/hive --service hiveserver2 &
- 重新啓動hue,然後就可以通過瀏覽器頁面操作hive
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.3配置hue與impala的集成
- 停止hue的服務進程,修改hue.ini配置文件
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[impala]
server_host=node03
server_port=21050
impala_conf_dir=/etc/impala/conf
- node03執行以下命令,重新啓動hue的服務即可
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.4、配置hue與mysql的集成
-
找到databases 這個選項,將這個選項下面的mysql註釋給打開,然後配置mysql即可,大概在1547行
-
停止hue的服務,然後修改hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[[[mysql]]]
nice_name="My SQL DB"
engine=mysql
host=node03
port=3306
user=root
password=123456
- 更改完了配置,重新啓動hue的服務
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.5、配置hue與hbase的集成
第一步:修改hue.ini
停止hue的服務,然後繼續修改hue的配置文件hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[hbase]
hbase_clusters=(Cluster|node01:9090)
hbase_conf_dir=/zsc/install/hbase-1.2.0-cdh5.14.2/conf
第二步:啓動hbase的thrift server服務
- node01執行以下命令啓動hbase的thriftserver進程
cd /zsc/install/hbase-1.2.0-cdh5.14.2
bin/start-hbase.sh
bin/hbase-daemon.sh start thrift
第三步:啓動hue
- node03執行以下命令啓動hue
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor