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_profileexport HUE_HOME=/home/hadoop/app/hue-3.9.0-cdh5.7.0export 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<qW5ohttp_host=hadoop001time_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 urifs_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 locatedhive_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)]
