HUE工具使用


1、HUE簡介

  來源

HUE=HadoopUser Experience,看這名字就知道怎么回事了吧,沒錯,直白來說就是Hadoop用戶體驗,是一個開源的Apache Hadoop UI系統,由Cloudera Desktop演化而來,最后Cloudera公司將其貢獻給Apache基金會的Hadoop社區,它是基於Python Web框架Django實現的。通過使用HUE我們可以在瀏覽器端的Web控制台上與Hadoop集群進行交互來分析處理數據。

  官網及使用者

官網網站:http://gethue.com/ 

2、安裝HUE

2.1、幫助文檔

http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html 

2.2、准備環境依賴

打開官方網站可以找到對應的部署HUE所需的各種依賴列表,如下圖所示:

 

如上圖所示,這部分內容是告訴你,安裝編譯Hue需要依賴哪些Linux安裝包,你只需要使用yum命令一次安裝就可以了,在此給大家整理好該命令(注意使用root權限安裝):

# yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy libxml2-devel libxslt-devel openldap-devel python-devel sqlite-devel openssl-devel mysql-devel gmp-devel

(尖叫提示:使用yum安裝這些包的同時,也會自動安裝openJDK的依賴,所以,請自行刪除安裝后的openJDK,忘記的同學請參考Linux基礎)

(查詢:# rpm -qa | grep java)

(刪除:# rpm -e --nodeps  xxxxxxx-java-xxxx.rpm)

2.3、解壓HUE

$ tar -zxf /opt/softwares/hue-3.7.0-cdh5.3.6.tar.gz -C /opt/modules/cdh/

2.4、編譯HUE

到hue安裝目錄下,執行make apps

$ make apps

尖叫提示:使用普通用戶編譯

大概等個幾分鍾之后,就編譯成功了。

2.5、配置HUE

修改Hue.ini文件

文件位置:/opt/modules/cdh/hue-3.7.0-cdh5.3.6/desktop/conf/hue.ini

其中的secret_key請參照官方網站配置:

 

修改內容參照如下:

 

2.6、啟動HUE

完成之后呢,保存退出,我們來使用命令啟動Hue$ build/env/bin/supervisor,出現如下界面表示啟動成功:

 

接下來使用瀏覽器來查看hue界面:http://hadoop-senior01.itguigu.com:8888,接着我們就看到如下界面:

 

這句話是在提示你,第一次使用本工具,需要創建一個用戶及密碼,且會成為hue的超級用戶憑證,在此呢,我設置為admin用戶名,密碼隨意,那就123456吧,然后呢就可以見到如下界面了: 

3、HUE與HDFS

3.1、梳理集群環境

 

3.2、配置hdfs-site.xml

添加

屬性:dfs.webhdfs.enabled

屬性值:true

解釋:Enable WebHDFS (REST API) in Namenodes and Datanodes.

3.3、配置core-site.xml

添加

屬性:hadoop.proxyuser.hue.hosts

變更為:hadoop.proxyuser.admin.hosts

屬性值:*

解釋:代理的用戶

 

屬性:hadoop.proxyuser.hue.groups

變更為:hadoop.proxyuser.admin.groups

屬性值:*

解釋:代理的用戶組

 

如果你的Hadoop配置了高可用,則必須通過httpfs來訪問,需要添加如下屬性,反則則不必須。(如果HUE服務與Hadoop服務不在同一節點,則必須配置)

 

屬性:hadoop.proxyuser.hue.hosts

變更為:hadoop.proxyuser.httpfs.hosts

屬性值:*

 

屬性:hadoop.proxyuser.hue.groups

變更為:hadoop.proxyuser.httpfs.groups

屬性值:*

 

3.4、httpfs-site.xml

添加

屬性:httpfs.proxyuser.hue.hosts

屬性值:*

 

屬性:httpfs.proxyuser.hue.groups

屬性值:*

 

解釋:以上兩個屬性主要用於HUE服務與Hadoop服務不在同一台節點上所必須的配置。

尖叫提示:

* 如果沒有配置NameNode的HA,HUE可以用WebHDFS來管理HDFS

* 如果配置了NameNodeHA,則HUE只可用HttpFS來管理HDFS

3.5、scp同步配置

$ scp -r etc/ hadoop-senior02.itguigu.com:/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/

$ scp -r etc/ hadoop-senior03.itguigu.com:/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/

3.6、啟動httpfs服務

$ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/httpfs.sh start &

3.7、配置hue.ini

找到[hadoop]標簽

 

3.8、測試

$ build/env/bin/supervisor

打開HUE的頁面,進行HDFS管理。

尖叫提示:

如果提示錯誤根目錄應該歸屬於hdfs,請修改python變量,位置如下:

/opt/modules/cdh/hue-3.7.0-cdh5.3.6/desktop/libs/hadoop/src/hadoop/fs/webhdfs.py

修改其中的變量值為:

DEFAULT_HDFS_SUPERUSER = 'admin'

然后重啟HUE服務即可。

尖叫提示:

啟動HUE服務時,請先kill掉之前的HUE服務,如果提示地址被占用,請使用如下命令查看占用8888端口的進程並kill掉:

$ netstat -tunlp | grep 8888

4、HUE與YARN

4.1、配置hue.ini

找到[[yarn_clusters]]標簽,修改配置如下圖所示:

 

4.2、重啟HUE測試查看

$ build/env/bin/supervisor

5、HUE與Hive

5.1、修改Hive配置文件hive-site.xml

HUE與hive集成需要hive開啟HiveServer2服務

 

屬性:hive.server2.thrift.port

屬性值:10000

 

屬性:hive.server2.thrift.bind.host

屬性值:hadoop-senior01.itguigu.com

 

屬性:hive.server2.long.polling.timeout

屬性值:5000

 

屬性:hive.metastore.uris

屬性值:thrift://hadoop-senior01.itguigu.com:9083

5.2、啟動Hive

$ bin/hive --service metastore &

$ bin/hive --service hiveserver2 &

尖叫提示:如果設置了uris,在今后使用Hive時,那么必須啟動如上兩個命令,否則Hive無法正常啟動。

5.3、配置hue.ini

找到[beeswax]屬性標簽,配置如圖:

 

5.4、重啟hue進行Hive測試

 

來到這樣的界面進行簡單的查詢即可測試

$ build/env/bin/supervisor

6、HUE與Mysql

6.1、配置hue.ini

找到[[[mysql]]]標簽,並刪掉標簽注釋,配置如下:

 

6.2、重啟hue.ini測試

啟動后即可測試是否成功連接Mysql服務,並且測試是否可以看到數據

$ build/env/bin/supervisor

7、HUE與Oozie

7.1、配置hue.ini

找到[liboozie]標簽以及[oozie]標簽配置如下

[liboozie]:

 

[oozie]:

 

7.2、啟動Oozie相關服務

$ bin/oozied.sh start

7.3、重啟HUE測試查看Oozie

$ build/env/bin/supervisor

尖叫提示:如果提示無法關聯oozie的share/lib,請使用hdfs命令創建該目錄即可:

$ bin/hdfs dfs -mkdir -p /user/oozie/share/lib

8、HUE與HBase

8.1、修改hue.ini配置

找到[hbase]標簽,修改內容如圖:

 

8.2、啟動HBase的thrift服務

$ bin/hbase-daemon.sh start thrift

8.3、重啟HUE進行測試

$ build/env/bin/supervisor

9、HUE與Zookeeper

9.1、配置hue.ini

找到[zookeeper]標簽,配置如下:

 

9.2、重啟HUE查看即可

$ build/env/bin/supervisor

10、HUE與Sqoop2

10.1、如何配置

尖叫提示:HUE只支持Sqoop2的集成,不支持Sqoop1,在此不再演示。

http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/user-guide/sqoop.html

11、總結

在此我們總結一下集成HUE時,我們開啟的后台服務項

11.1、Hadoop

$ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/httpfs.sh start &

11.2、Hive

$ /opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service metastore &

$ /opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service hiveserver2 &

11.3、HBase

$ /opt/modules/cdh/hbase-0.98.6-cdh5.3.6/bin/hbase-daemon.sh start thrift &

11.4、Oozie

$ /opt/modules/cdh/oozie-4.0.0-cdh5.3.6/bin/oozied.sh start &

為了方便,我們把這些服務加在群起腳本中,如圖所示:

 

完整腳本如下:

#!/bin/bash
echo "===================================正在開啟集群服務=======================================" echo "===================================正在開啟Zookeeper節點==================================" for i in admin@hadoop-senior01.itguigu.com admin@hadoop-senior02.itguigu.com admin@hadoop-senior03.itguigu.com do ssh $i '/opt/modules/cdh/zookeeper-3.4.5-cdh5.3.6/bin/zkServer.sh start' done echo "===================================正在開啟NameNode節點==================================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start namenode' echo "===================================正在開啟DataNode節點==================================" for i in admin@hadoop-senior01.itguigu.com admin@hadoop-senior02.itguigu.com admin@hadoop-senior03.itguigu.com do ssh $i '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start datanode' done echo "===================================正在開啟SeondaryNameNode節點==========================" ssh admin@hadoop-senior03.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start secondarynamenode' echo "===================================正在開啟ResourceManager節點===========================" ssh admin@hadoop-senior02.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start resourcemanager' echo "===================================正在開啟NodeManager節點===============================" for i in admin@hadoop-senior01.itguigu.com admin@hadoop-senior02.itguigu.com admin@hadoop-senior03.itguigu.com do ssh $i '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start nodemanager' done echo "===================================正在開啟JobHistoryServer節點==========================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/mr-jobhistory-daemon.sh start historyserver' echo "===================================正在開啟HBase節點=====================================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/bin/start-hbase.sh' echo "===================================正在第1節點開啟httpfs服務==============================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/httpfs.sh start &' echo "===================================正在第1節點開啟metastore與hiveserver2服務==============" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service metastore &' ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service hiveserver2 &' echo "===================================正在第1節點開啟HBase thrift服務========================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/bin/hbase-daemon.sh start thrift &' echo "===================================正在第1節點開啟Oozie服務===============================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/oozie-4.0.0-cdh5.3.6/bin/oozied.sh start &' echo "===================================正在第1節點開啟HUE服務=================================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hue-3.7.0-cdh5.3.6/build/env/bin/supervisor &'

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM