Hue安裝部署


一、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


免責聲明!

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



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