一、概述
HUE是一個開源的Apache Hadoop UI系統,早期由Cloudera開發,后來貢獻給開源社區。它是基於Python Web框架Django實現的。通過使用Hue我們可以通過瀏覽器方式操縱Hadoop集群。
二、安裝
安裝推薦隨筆:https://www.cnblogs.com/zlslch/p/6804757.html
1.下載hue
http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.5.4.tar.gz
推薦使用百度雲離線下載!
2.安裝依賴
ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy (for unit tests only,可選) libxml2-devel libxslt-devel make mvn (from maven package or maven3 tarball) mysql (我這里不安裝了,因為在hive那邊已經安裝了) mysql-devel (我這里不安裝了,因為在hive那邊已經安裝了) openldap-devel python-devel sqlite-devel openssl-devel (for version 7+) gmp-devel
一鍵安裝:
yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-devel gmp-devel
可以先用rpm看看是否已經安裝,可以使用rpm下載再重新安裝避免沖突(或者省事先裝,沖突了再解決,沖突的概率不大~):
rpm -e --nodeps ***
3.解壓編譯
tar -zxvf hue-3.9.0-cdh5.14.0.tar.gz -C /opt/
進入Hue目錄:
make apps
// 如編譯失敗,可以刪除目錄,嘗試重新解壓編譯
// 失敗原因如果是找不到mysqlclilnet:
cp /usr/lib64/mysql/libmysqlclient* /usr/lib/
其他原因請參考上述博文
三、配置
1.配置Hue.ini
路徑: $HUE_HOME/desktop/conf/hue.ini
screct_key可在官網查看:http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html
其他配置項參考上述博文
2.配置hadoop
在集群各機器的hdfs-site.xml中配置:
<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
在core-site.xml中配置:
<property> <name>hadoop.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hue.groups</name> <value>*</value> </property>
如果是HA集群,需要配置成https,此處非HA則不配置:
以及在httpfs-site.xml中修改如下配置 <property> <name>httpfs.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>httpfs.proxyuser.hue.groups</name> <value>*</value> </property> 修改完后,重啟HDFS服務。
3.在Hue.ini中配置Hadoop
在Hadoop塊下修改(推薦使用Notpad++)
基於上述博文,還需要配置一下database:
[desktop]
http_host=hadoop001
http_port=8888
server_user=hadoop
server_group=hadoop
default_user=hue
default_hdfs_superuser=hadoop
大約500行
[[database]]
engine=mysql
host=bigdata
port=3306
user=hue
password=hue
name=hue
大約600行
[hadoop]
[[[default]]]
fs_defaultfs=hdfs://hadoop001:8020
webhdfs_url=http://hadoop001:50070/webhdfs/v1
hadoop_conf_dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
在780行
[beeswax]
hive_server_host=hadoop001
#Port where HiveServer2 Thrift server runs on.
hive_server_port=10000
hive_conf_dir=/home/hadoop/app/hive-1.1.0-cdh5.7.0/conf
初始化:
初始化數據庫
需要輸入用戶名郵箱密碼
[hadoop@hadoop001 bin]$ ./hue syncdb
mysql hue 數據庫生成相應的表
[hadoop@hadoop001 bin]$ ./hue migrate
啟動hue
[hadoop@hadoop001 bin]$ ./supervisor
// 配置參考:https://blog.csdn.net/qq_35744460/article/details/89344689
四、錯誤收集
0.編譯時在usr/lib下找不到lmysqlclinet
找一下這個文件在哪:
find / -name libmysqlclient_r*
做個軟連接或者cp過去:(或者可以cp到/usr/lib下面去~)
ln -sv /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 /usr/lib/libmysqlclient_r.so
需要使用非root用戶,新建一個普通用戶(如已新建,忽略),授予hue文件夾權限:
useradd hadoop01 passwd hadoop01 chown -R /opt/hue3.9/
2.瀏覽器頁面打不開,無法訪問,嘗試關閉防火牆:
systemctl stop firewalld.service
或者永久關閉(本機搭建的隨意:)
systemctl disable firewalld.service
3.頁面報錯:Could not connect to localhost:10000
在Hive中啟動:
hive --service hiveserver2 &