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
原文地址:https://www.cnblogs.com/yjt1993/p/13085112.html