本文使用的操作系统为CentOS7,Hue版本为4.5,其他系统可参考官方文档

Hue 下载

官网下载tar包或者源码。本文使用的tar包,也可以从源码编译开始,请参考:https://github.com/cloudera/hue#getting-started

系统依赖

在安装Hue之前,需要安装一些依赖:

  1. sudo yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel gmp-devel

安装Apache Maven 3
安装nodejs (我使用的是v10的版本,目前最新的v12会报错)下载地址

Hue 安装

解压下载的安装包到指定目录

tar -zxvf /path/to/hue-4.5.0.tgz -C /target/path

进入hue解压目标目录,进行安装

cd /path/to/hue-4.5.0/
PREFIX=/usr/share make install

PREFIX=/usr/share可以指定安装的路径,整个过程大概要20分钟左右。
Hue的安装过程更像是一个编译过程。

Hue启动配置

添加hue用户和用户组

root用户无法直接使用hue,系统中必须有hue用户

groupadd hue
useradd -g hue hue

安装配置数据库

Hue自身的数据存储需要一个数据库,本文使用MySQL。我使用的是rpm安装模式,需要把所有包都安装了,否则后续启动Hue会有报错,rpm安装MySQL需要把MariaDB卸载。下载地址
登录MySQL client,创建Hue库,并赋权限:

Create Database hue
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%' IDENTIFIED BY 'Hue_1234';
flush privileges;

Hue启动配置

修改hue配置文件hue.ini

cd /usr/share/hue/
vim desktop/conf/hue.ini

在[[database]]下添加数据库配置:

[[database]]
  engine=mysql
  host=localhost
  port=3306
  user=hue
  password=Hue_1234
  name=hue

保存退出后,进行建表操作

./build/env/bin/hue migrate

Hue 启动

建表完成后即可启动:

build/env/bin/supervisor

接下来就可以访问Hue界面了 http://myserver:8888/,首次登录账号密码随意填写,会作为Hue的最高权限用户。
至此,Hue的安装已经完成。但想要正常使用HDFS、Hive、HBase等还得进行对应的配置。官网针给出了详尽的配置内容,你可以针对地选择自身使用的组件对接Hue。
https://docs.gethue.com/administrator/configuration/connectors/

Hue 迁移

前面已经提到Hue的安装过程更像是一个编译的过程。这样的安装对于内网环境是极度不友好的,要解决一大推依赖,甚至还需要考虑npm内网仓库搭建等等一系列问题。
那能不能在外网安装(潜台词:编译)然后拷贝到内网呢?答案是可以的。但有一点需要注意的是,Hue安装时会把安装路径作为环境信息写入各个文件中。将安装好后的Hue转移到另一台主机上时,如果路径不同会无法执行。因此,要确保两台主机Hue的路径一致。
这个办法有点笨,但是目前我能想到的办法,后续可能会针对这一块进行研究。

Reference

https://docs.gethue.com/administrator/
https://blog.csdn.net/weixin_41609807/article/details/102821444