一、hue介紹
HUE是一個開源的Apache Hadoop UI系統,早期由Cloudera開發,后來貢獻給開源社區。它是基於Python Web框架Django實現的。通過使用Hue我們可以通過瀏覽器方式操縱Hadoop集群。例如put、get、執行MapReduce Job等等
官方網站:https://gethue.com/
功能用途:
默認基於輕量級sqlite數據庫管理會話數據,用戶認證和授權,可以自定義為MySQL、Postgresql,以及Oracle 基於文件瀏覽器(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數據庫查詢編輯器
二、安裝
1、下載與安裝
- 安裝依賴軟件包
具體可以看官網:https://docs.gethue.com/administrator/installation/dependencies/
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
- 創建用戶
#useradd hue
# passwd hue
- 安裝方式
下載方式:
1)、通過git克隆GitHub項目(克隆下來的屬於開放版本)
git clone https://github.com/cloudera/hue.git cd hue make apps build/env/bin/hue runserver # 官方是通過這種方式啟動的,還可以通過./build/env/bin/supervisor 啟動
2)、下載tar包(屬於開發版本)
下載地址:wget https://github.com/cloudera/hue/archive/release-4.7.1.tar.gz
依然是解壓,然后make apps
3)、下載穩定版本
下載地址:http://archive.cloudera.com/cdh5/cdh/5/
4)其他的還有docker以及k8s安裝。
二、配置
2.1、開發版本
如果是開發版本,默認啟動的端口是8000,有兩種啟動方式: 方式1:./build/env/bin/hue runserver 0.0.0.0:8000 # 這中啟動方式是用於開發測試的,默認監聽在本地的127.0.0.1:8000,所以需要指定ip和端口 方式2:./build/env/bin/supervisor 這個命令啟動的時候讀取./desktop/conf/pseudo-distributed.ini文件
修改該配置文件如的幾個參數:
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o # 通過官網查看該值http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html # Execute this script to produce the Django secret key. This will be used when # 'secret_key' is not set. ## secret_key_script= # Webserver listens on this address and port http_host=0.0.0.0 #監聽地址 http_port=8000 #端口 # A comma-separated list of available Hue load balancers ## hue_load_balancer= # Time zone name # time_zone=America/Los_Angeles # 這是默認的時區 time_zone=Asia/Shanghai # 這是修改以后的時區
...略
2.2 、cdh穩定版
1、啟動方式./build/env/bin/supervisor
修改配置文件
[hue@yjt hue-3.9.0-cdh5.14.0]$ cd /data1/hue/hue-3.9.0-cdh5.14.0 [hue@yjt hue-3.9.0-cdh5.14.0]$ vi ./desktop/conf/hue.ini 修改的信息與上述開發版是一樣的
2、啟動./build/env/bin/supervisor

3、登錄
第一次登錄需要創建賬號和密碼,這個隨意,比如admin/admin
3、修改hue存儲
1)默認的存儲是sqllite3,這里換成mysql
依然是修改hue.ini配置
在 [[database]] 這個section下添加如下的配置
engine=mysql #存儲引擎改為mysql host=192.168.0.230 # 主機 port=3306 #端口 user=root password=123456 name=hue #這是數據庫的名字,用於存放hue相關表
2)創建mysql數據庫
create databse hue;
3) 初始化數據庫
該步驟是創建表和插入部分數據。hue的初始化數據表命令由hue/bin/hue syncdb完成,創建期間,需要輸入用戶名和密碼
#同步數據庫
# ./build/env/bin/hue syncdb

創建的過程中需要輸入登錄hue控制台的用戶名和密碼,這里的郵件地址默認不用寫,按enter鍵跳過,由於上述在進去hue的時候,創建了admin/admin用戶,這里也使用了這個用戶
#導入數據,主要包括oozie、pig、desktop所需要的表
# ./build/env/bin/hue migrate
4)在執行的過程中報錯,如下
[hue@yjt hue-3.9.0-cdh5.14.0]$ ./build/env/bin/hue syncdb Traceback (most recent call last): File "./build/env/bin/hue", line 9, in <module> load_entry_point('desktop==3.9.0', 'console_scripts', 'hue')() File "/data1/hue/hue-3.9.0-cdh5.14.0/desktop/core/src/desktop/manage_entry.py", line 149, in entry raise e django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory [hue@yjt hue-3.9.0-cdh5.14.0]$ vim desktop/conf/hue.ini [hue@yjt hue-3.9.0-cdh5.14.0]$ yum install -y libmysqlclient 已加載插件:fastestmirror 您需要 root 權限執行此命令。 [hue@yjt hue-3.9.0-cdh5.14.0]$ ./build/env/bin/hue syncdb Traceback (most recent call last): File "./build/env/bin/hue", line 9, in <module> load_entry_point('desktop==3.9.0', 'console_scripts', 'hue')() File "/data1/hue/hue-3.9.0-cdh5.14.0/desktop/core/src/desktop/manage_entry.py", line 149, in entry raise e django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory
解決辦法:
[root@yjt hadoop]# find / -name libmysqlclient.so.20 /var/lib/docker/overlay2/935005830c11c74796acf1f64f2d2c4e23a0e0ab8beec4cf1d04aa1fbf3481ce/diff/usr/lib64/mysql/libmysqlclient.so.20 /var/lib/docker/overlay2/a774cd386bdc5b6587c89e86e99392040028e4406a612c02f6e6b59505766d50/merged/usr/lib64/mysql/libmysqlclient.so.20 /data1/hadoop/mysql/lib/libmysqlclient.so.20 修改/etc/ld.so.conf [root@yjt hadoop]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/local/protobuf/lib /data1/hadoop/mysql/lib/ #添加的 然后執行 # ldconfig
然后重啟hue
三、界面圖
1、cdh穩定版本
2、開發版本
可以發現穩定版比開發版功能更多
3、切換到中文版本
修改 vi desktop/core/src/desktop/settings.py文件
LANGUAGE_CODE = 'zh_CN'
查看中文界面:
借鑒:
官網
docker化安裝hue
https://www.cnblogs.com/mediocreWorld/p/11144684.html
https://www.cnblogs.com/zlslch/p/6804741.html