一、概述
HUE是一个开源的Apache Hadoop UI系统,早期由Cloudera开发,后来贡献给开源社区。它是基于Python Web框架Django实现的。通过使用Hue我们可以通过浏览器方式操纵Hadoop集群。
二、安装
安装推荐随笔:https://www.cnblogs.com/zlslch/p/6804757.html
1.下载hue
http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.5.4.tar.gz
推荐使用百度云离线下载!
2.安装依赖
ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy (for unit tests only,可选) libxml2-devel libxslt-devel make mvn (from maven package or maven3 tarball) mysql (我这里不安装了,因为在hive那边已经安装了) mysql-devel (我这里不安装了,因为在hive那边已经安装了) openldap-devel python-devel sqlite-devel openssl-devel (for version 7+) gmp-devel
一键安装:
yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-devel gmp-devel
可以先用rpm看看是否已经安装,可以使用rpm下载再重新安装避免冲突(或者省事先装,冲突了再解决,冲突的概率不大~):
rpm -e --nodeps ***
3.解压编译
tar -zxvf hue-3.9.0-cdh5.14.0.tar.gz -C /opt/
进入Hue目录:
make apps
// 如编译失败,可以删除目录,尝试重新解压编译
// 失败原因如果是找不到mysqlclilnet:
cp /usr/lib64/mysql/libmysqlclient* /usr/lib/
其他原因请参考上述博文
三、配置
1.配置Hue.ini
路径: $HUE_HOME/desktop/conf/hue.ini
screct_key可在官网查看:http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html
其他配置项参考上述博文
2.配置hadoop
在集群各机器的hdfs-site.xml中配置:
<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
在core-site.xml中配置:
<property> <name>hadoop.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hue.groups</name> <value>*</value> </property>
如果是HA集群,需要配置成https,此处非HA则不配置:
以及在httpfs-site.xml中修改如下配置 <property> <name>httpfs.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>httpfs.proxyuser.hue.groups</name> <value>*</value> </property> 修改完后,重启HDFS服务。
3.在Hue.ini中配置Hadoop
在Hadoop块下修改(推荐使用Notpad++)
基于上述博文,还需要配置一下database:
[desktop]
http_host=hadoop001
http_port=8888
server_user=hadoop
server_group=hadoop
default_user=hue
default_hdfs_superuser=hadoop
大约500行
[[database]]
engine=mysql
host=bigdata
port=3306
user=hue
password=hue
name=hue
大约600行
[hadoop]
[[[default]]]
fs_defaultfs=hdfs://hadoop001:8020
webhdfs_url=http://hadoop001:50070/webhdfs/v1
hadoop_conf_dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
在780行
[beeswax]
hive_server_host=hadoop001
#Port where HiveServer2 Thrift server runs on.
hive_server_port=10000
hive_conf_dir=/home/hadoop/app/hive-1.1.0-cdh5.7.0/conf
初始化:
初始化数据库
需要输入用户名邮箱密码
[hadoop@hadoop001 bin]$ ./hue syncdb
mysql hue 数据库生成相应的表
[hadoop@hadoop001 bin]$ ./hue migrate
启动hue
[hadoop@hadoop001 bin]$ ./supervisor
// 配置参考:https://blog.csdn.net/qq_35744460/article/details/89344689
四、错误收集
0.编译时在usr/lib下找不到lmysqlclinet
找一下这个文件在哪:
find / -name libmysqlclient_r*
做个软连接或者cp过去:(或者可以cp到/usr/lib下面去~)
ln -sv /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 /usr/lib/libmysqlclient_r.so
需要使用非root用户,新建一个普通用户(如已新建,忽略),授予hue文件夹权限:
useradd hadoop01 passwd hadoop01 chown -R /opt/hue3.9/
2.浏览器页面打不开,无法访问,尝试关闭防火墙:
systemctl stop firewalld.service
或者永久关闭(本机搭建的随意:)
systemctl disable firewalld.service
3.页面报错:Could not connect to localhost:10000
在Hive中启动:
hive --service hiveserver2 &