简介
Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job、Hive查询等等。
如果使用的是CDH平台,那么默认就已集成Hue服务了,但是HDP平台却是没有的。每次跑点小任务,查询什么的总是登陆服务器,那样极不方便,所以就干脆装上个Hue啦
环境
- CentOS 7
- HDP 2.5
- Hue 3.12.0
安装Hue
从官网下载3.12.0版本:
http://gethue.com/hue-3-12-the-improved-editor-for-sql-developers-and-analysts-is-out/
不过国内好像挺难下的,正好我这里也提前下好了,已经上传到百度云:
https://pan.baidu.com/s/1cCifuu
将其放到服务器指定目录上,进行解压。
root@dell:/data/hue# tar -zxvf hue-3.12.0.tgz
安装依赖:
root@dell:~# yum install ant gcc gcc-c++ mysql-devel openssl-devel cyrus-sasl-devel cyrus-sasl cyrus-sasl-gssapi sqlite-devel openldap-devel libacl-devel libxml2-devel libxslt-devel mvn krb5-devel python-devel python-simplejson python-setuptools
编译安装hue:
root@dell:/data/hue# PREFIX=/usr/share make install
PREFIX指定安装路径,这个最好放在空间较大的分区。
安装的过程比较简单,主要是注意要提前配置好Maven,在编译的过程中需要很多的Jar包,会通过Maven进行下载。
配置Hue
编辑Hue安装路径中的desktop/conf/hue.ini
文件
配置数据库
默认hue使用的是sqlite数据库,可以改为mysql
打开hue.ini文件,找到以下内容:
[[database]]
# Database engine is typically one of:
# postgresql_psycopg2, mysql, sqlite3 or oracle.
#
# Note that for sqlite3, 'name', below is a path to the filename. For other backends, it is the database name
# Note for Oracle, options={"threaded":true} must be set in order to avoid crashes.
# Note for Oracle, you can use the Oracle Service Name by setting "host=" and "port=" and then "name=<host>:<port>/<service_name>".
# Note for MariaDB use the 'mysql' engine.
## engine=sqlite3 // 改为mysql
## host= // mysql服务器主机名或者ip
## port= // 3306
## user= // 数据库连接用户名(推荐新建一个hue用户)
## password= // 连接用户密码
# Execute this script to produce the database password. This will be used when 'password' is not set.
## password_script=/path/script
## name=desktop/desktop.db // 这里要改为数据库的名字,如:hue
## options={}
# Database schema, to be used only when public schema is revoked in postgres
## schema=
将以上内容修改后,如下:
[[database]]
# Database engine is typically one of:
# postgresql_psycopg2, mysql, sqlite3 or oracle.
#
# Note that for sqlite3, 'name', below is a path to the filename. For other backends, it is the database name
# Note for Oracle, options={"threaded":true} must be set in order to avoid crashes.
# Note for Oracle, you can use the Oracle Service Name by setting "host=" and "port=" and then "name=<host>:<port>/<service_name>".
# Note for MariaDB use the 'mysql' engine.
engine=mysql // 改为mysql
host=192.168.1.2 // mysql服务器主机名或者ip
port=3306 /