1、HUE的基本介绍
1.1 什么是HUE
HUE,即Hadoop User Experience.Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。
1.2 HUE网站链接
· Site: http://gethue.com/
· Github: https://github.com/cloudera/hue
· Reviews: https://review.cloudera.org
1.3 Hue的架构
1.4 HUE核心功能
-
SQL编辑器,支持Hive, Impala, MySQL, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix等
-
搜索引擎Solr的各种图表
-
对Spark和Hadoop的友好界面支持
-
支持调度系统Apache Oozie,可进行workflow的编辑、查看
-
访问HDFS和文件浏览
-
通过web调试和开发hive以及数据结果展示
-
查询solr和结果展示,报表生成
-
通过web调试和开发impala交互式SQL Query
-
spark调试和开发
-
oozie任务的开发,监控,和工作流协调调度
-
Hbase数据查询和修改,数据展示
-
Hive的元数据(metastore)查询
-
MapReduce任务进度查看,日志追踪
-
创建和提交MapReduce,Streaming,Java job任务
-
Sqoop2的开发和调试
-
Zookeeper的浏览和编辑
-
数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示
总结:Hue是一个友好的界面集成框架,可以集成我们各种大数据框架,一个界面就可以做到查看以及执行所有的框架.
HUE提供的这些功能相比Hadoop生态各组件提供的界面更加友好,但是一些需要debug的场景可能还是需要使用原生系统才能更加深入的找到错误的原因.HUE中查看Oozie workflow时,也可以很方便的看到整个workflow的DAG图,不过在最新版本中已经将DAG图去掉了,只能看到workflow中的action列表和他们之间的跳转关系,想要看DAG图的仍然可以使用oozie原生的界面系统查看。
2、Hue的安装
Hue的安装支持多种方式,包括rpm包的方式进行安装,tar.gz包的方式进行安装以及cloudera manager的方式来进行安装等,我这里使用tar.gz包的方式来进行安装.
第一步:下载Hue的压缩包并上传到linux解压
-
Hue的压缩包的下载地址:http://archive.cloudera.com/cdh5/cdh/5/
-
我这里使用的是CDH5.14.2这个对应的版本,具体下载地址为:
-
http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.14.2.tar.gz
下载然后上传到node03服务器的/zsc/soft路径下
cd /zsc/soft
tar -zxvf hue-3.9.0-cdh5.14.2.tar.gz -C /zsc/install
第二步:编译安装启动
2.1、linux系统安装依赖包
- 联网安装各种必须的依赖包
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 libffi gcc gcc-c++ kernel-devel openssl-devel gmp-devel openldap-devel
2.2、配置Hue
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
#通用配置
[desktop]
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
http_host=node03
is_hue_4=true
time_zone=Asia/Shanghai
server_user=hadoop
server_group=hadoop
default_user=hadoop
default_hdfs_superuser=hadoop
#配置使用mysql作为hue的存储数据库
[[database]]
engine=mysql
host=node03
port=3306
user=root
password=123456
name=hue
2.3、创建mysql数据库
create database hue default character set utf8 default collate utf8_general_ci;
注意:实际工作中,还需要为hue这个数据库创建对应的用户,并分配权限.
grant all on hue.* to 'hue'@'%' identified by 'hue';
2.4、准备进行编译
node03服务器执行以下命令准备进行编译
cd /zsc/install/hue-3.9.0-cdh5.14.2
sudo make apps
2.5、linux系统添加普通用户hue
node03执行以下命令,创建普通用户
sudo useradd hue
sudo passwd hue
2.6、启动hue进程
node03执行以下命令启动hue
cd /zsc/install/hue-3.9.0-cdh5.14.2
sudo build/env/bin/supervisor
2.7、页面访问
-
访问地址 http://node03:8888
-
第一次访问的时候,需要设置管理员用户和密码,我安装hadoop的用户名与密码分别是hadoop 123456 尽量保持一致.
-
进入之后发现我们的hue页面报错了,这个错误主要是因为hive的原因,因为我们的hue与hive集成的时候出错了,所以我们需要配置我们的hue与hive进行集成
3、hue与其他框架的集成
3.1、hue与hadoop的HDFS以及yarn集成
第一步:更改所有hadoop节点的core-site.xml配置
- 集群所有机器更改core-site.xml
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
- 更改完core-site.xml之后一定要重启hdfs与yarn集群
第二步:更改所有hadoop节点的hdfs-site.xml
- 集群所有服务器更改hdfs-site.xml添加以下配置
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
第三步:重启hadoop集群
在node01机器上面执行以下命令
cd /zsc/install/hadoop-2.6.0-cdh5.14.2
sbin/stop-dfs.sh
sbin/start-dfs.sh
sbin/stop-yarn.sh
sbin/start-yarn.sh
第四步:停止hue的服务,并继续配置hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
#配置hue与hdfs集成
[[hdfs_clusters]]
[[[default]]]
fs_defaultfs=hdfs://node01:8020
webhdfs_url=http://node01:50070/webhdfs/v1
hadoop_hdfs_home=/zsc/install/hadoop-2.6.0-cdh5.14.2
hadoop_bin=/zsc/install/hadoop-2.6.0-cdh5.14.2/bin
hadoop_conf_dir=/zsc/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop
#配置hue与yarn集成
[[yarn_clusters]]
[[[default]]]
resourcemanager_host=node01
resourcemanager_port=8032
submit_to=True
resourcemanager_api_url=http://node01:8088
history_server_api_url=http://node01:19888
- node03执行以下命令进行重新启动hue服务
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.2、配置hue与hive集成
如果需要配置hue与hive的集成,我们需要启动hive的metastore服务以及hiveserver2服务:
- impala需要hive的metastore服务
- hue需要hvie的hiveserver2服务
第一步:更改hue的配置hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[beeswax]
hive_server_host=node03
hive_server_port=10000
hive_conf_dir=/zsc/install/hive-1.1.0-cdh5.14.2/conf
server_conn_timeout=120
auth_username=hadoop
auth_password=123456
[metastore]
#允许使用hive创建数据库表等操作
enable_new_create_table=true
第二步:启动hive的metastore服务
- node03机器上启动hive的metastore以及hiveserver2服务
cd /zsc/install/hive-1.1.0-cdh5.14.2/conf
nohup bin/hive --service metastore &
nohup bin/hive --service hiveserver2 &
- 重新启动hue,然后就可以通过浏览器页面操作hive
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.3配置hue与impala的集成
- 停止hue的服务进程,修改hue.ini配置文件
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[impala]
server_host=node03
server_port=21050
impala_conf_dir=/etc/impala/conf
- node03执行以下命令,重新启动hue的服务即可
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.4、配置hue与mysql的集成
-
找到databases 这个选项,将这个选项下面的mysql注释给打开,然后配置mysql即可,大概在1547行
-
停止hue的服务,然后修改hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[[[mysql]]]
nice_name="My SQL DB"
engine=mysql
host=node03
port=3306
user=root
password=123456
- 更改完了配置,重新启动hue的服务
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor
3.5、配置hue与hbase的集成
第一步:修改hue.ini
停止hue的服务,然后继续修改hue的配置文件hue.ini
cd /zsc/install/hue-3.9.0-cdh5.14.2/desktop/conf
vim hue.ini
[hbase]
hbase_clusters=(Cluster|node01:9090)
hbase_conf_dir=/zsc/install/hbase-1.2.0-cdh5.14.2/conf
第二步:启动hbase的thrift server服务
- node01执行以下命令启动hbase的thriftserver进程
cd /zsc/install/hbase-1.2.0-cdh5.14.2
bin/start-hbase.sh
bin/hbase-daemon.sh start thrift
第三步:启动hue
- node03执行以下命令启动hue
cd /zsc/install/hue-3.9.0-cdh5.14.2/
build/env/bin/supervisor