1 hue简介
- 什么是hue?
Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,
由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。
通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,
例如操作HDFS上的数据,运行MapReduce Job,Hive等等。
- 支持功能:
数据库查询编辑器,支持 Hive, Impala, MySql, PostGres, Sqlite and Oracle
动态查询仪表盘,支持 Solr
支持 Spark 编辑器和仪表盘
浏览器查看状态,支持 YARN, HDFS, Hive table Metastore, HBase, ZooKeeper
支持 Pig Editor, Sqoop2, Oozie workflows 编辑器和仪表盘
将数据导入hdfs
2.基础环境
2.1物理环境
一台1core、2G内存的Centos6.7虚拟机
2.2组件环境
组件名称 | 组件版本 |
---|---|
Hadoop | Hadoop-2.6.0-cdh5.7.0-src.tar.gz |
jdk | jdk-8u45-linux-x64.gz |
hive | hive-1.1.0-cdh5.7.0.tar.gz |
hue | hue-3.9.0-cdh5.7.0 |
所有的组件都是基于cdh5.7.0的,可从CDH官网组件仓库下载。
3.安装编译hue
3.1安装依赖的环境
[root@hadoop001 ~]# yum install -y 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
3.2设置环境变量
[hadoop@hadoop001 ~]$ vim ./.bash_profile
export HUE_HOME=/home/hadoop/app/hue-3.9.0-cdh5.7.0
export PATH=$HUE_HOME/bin:$PATH
[hadoop@hadoop001 ~]$ source ./.bash_profile
3.3编译hue
#解压,注意检查用户与用户组
[hadoop@hadoop001 ~]$ tar -zxvf ~/soft/hue-3.9.0-cdh5.7.0.tar.gz -C ~/app/
#编译,make编译会下载很多的包,编译的快慢取决于网络,
[hadoop@hadoop001 ~]$ cd ~/app/hue-3.9.0-cdh5.7.0/
[hadoop@hadoop001 hue-3.9.0-cdh5.7.0]$ make apps
若出现如下:XXXX post-processed则表示hue编译成功
1190 static files copied to '/home/hadoop/app/hue-3.9.0-cdh5.7.0/build/static', 1190 post-processed.
make[1]: Leaving directory `/home/hadoop/app/hue-3.9.0-cdh5.7.0/apps'
3.4设置hue.ini文件( $HUE_HOME/desktop/conf/hue.ini)
[desktop]
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
http_host=hadoop001
time_zone=Asia/Shanghai
4.Hue集成hadoop
4.1修改hadoop配置文件( $HADOOP_HOME/etc/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>
#httpfs-site.xml
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>
4.2修改hue.ini配置文件( $HUE_HOME/desktop/conf/hue.ini )
取消webhdfs_url的注释
[hadoop]
# Configuration for HDFS NameNode
# ------------------------------------------------------------------------
[[hdfs_clusters]]
# HA support by using HttpFs
[[[default]]]
# Enter the filesystem uri
fs_defaultfs=hdfs://hadoop001:8020
# NameNode logical name.
## logical_name=
# Use WebHdfs/HttpFs as the communication mechanism.
# Domain should be the NameNode or HttpFs host.
# Default port is 14000 for HttpFs.
webhdfs_url=http://hadoop001:50070/webhdfs/v1
5.Hue集成Hive
5.1修改hive配置文件( $HIVE_HOME/conf/hive-site.xml )
设置hs2相关信息
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>hadoop001</value>
</property>
<property>
<name>hive.server2.long.polling.timeout</name>
<value>5000</value>
</property>
<property>
<name>hive.server2.authentication</name>
<value>NONE</value>
</property>
5.2修改hue.ini配置文件( $HUE_HOME/desktop/conf/hue.ini )
取消如下注释,并修改hostname
[beeswax]
# Host where HiveServer2 is running.
# If Kerberos security is enabled, use fully-qualified domain name (FQDN).
hive_server_host=hadoop001
# Port where HiveServer2 Thrift server runs on.
hive_server_port=10000
# Hive configuration directory, where hive-site.xml is located
hive_conf_dir=/home/hadoop/app/hive-1.1.0-cdh5.7.0/conf/
6.启动Hue
#启动hadoop
[hadoop@hadoop001 ~]$ start-all.sh
#启动hiveserver2
[hadoop@hadoop001 ~]$ nohup hive --service hiveserver2 >~/app/hive-1.1.0-cdh5.7.0/console.log 2>&1 &
使用beeline连接hs2,-n hadoop 这里的hadoop是启动beeline的用户hadoop
[hadoop@hadoop001 ~]$ beeline -u jdbc:hive2://hadoop001:10000/default -n hadoop
连接时发生异常,信息如下:Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop001:10000: null
解决方案:检查发现配置了hive的用户登录导致的,将hive.server2.authentication配置的值改为NONE即可,原先是NOSAL
#启动hue
[hadoop@hadoop001 ~]$ ~/app/hue-3.9.0-cdh5.7.0/build/env/bin/supervisor
hive是没必要启用用户登录去访问的。
7.访问hue
访问地址:http://ip:88888
我创建了一个hadoop账号,必须是hadoop用户,不然dfs只能操作/usr/XXX/目录,hive也是无法操作的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vSYW20ko-1608566213090)(https://s2.ax1x.com/2019/04/17/Azmyi4.md.png)]
7.1操作hdfs
这里我们可以对hdfs文件进行操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mkxeblLB-1608566213092)(https://s2.ax1x.com/2019/04/17/Azn3Ox.md.png)]
7.2操作hive
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7lRmmJzY-1608566213093)(https://s2.ax1x.com/2019/04/17/AzKNzd.md.png)]