先看下HUE的架构,如图
1. Hue是什么?
Hue是一个可快速开发和调试Hadoop生态系统各种应用的一个基于浏览器的图形化用户接口。
2. Hue能干什么?
- 访问HDFS和文件浏览
- 通过web调试和开发hive以及数据结果展示
- 查询solr和结果展示,报表生成
- 通过web调试和开发impala交互式SQL Query
- spark调试和开发
- Pig开发和调试
- oozie任务的开发,监控,和工作流协调调度
- Hbase数据查询和修改,数据展示
- Hive的元数据(metastore)查询
- MapReduce任务进度查看,日志追踪
- 创建和提交MapReduce,Streaming,Java job任务
- Sqoop2的开发和调试
- Zookeeper的浏览和编辑
- 数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示
3. Hue怎么用或者什么时候应该用?
如果你们公司用的是CDH的hadoop,那么很幸运,Hue也是出自CDH公司,自家的东西用起来当然很爽。
如果你们公司用的是Apache Hadoop或者是HDP的hadoop,那么也没事,Hue是开源的,而且支持任何版本的hadoop。
关于什么时候用,这纯属一个锦上添花的功能,你完全可以不用hue,因为各种开源项目都有自己的使用方式和开发接口, hue只不过是统一了各个项目的开发方式在一个接口里而已,这样比较方便而已,不用你一会准备使用hive,就开一个hive的cli终端,一会用pig,你就得开一个pig的grunt,或者你又想查Hbase,又得需要开一个Hbase的shell终端。如果你们使用hadoop生态系统的组件很多的情况下,使用hue还是比较方便的,另外一个好处就是hue提供了一个web的界面来开发和调试任务,不用我们再频繁登陆Linux来操作了。
你可以在任何时候,只要能上网,就可以通过hue来开发和调试数据,不用再装Linux的客户端来远程登陆操作了,这也是B/S架构的好处。
4. 如何下载,安装和编译Hue?
http://gethue.com/downloads/releases/4.0.1/hue-4.0.1.tgz 下载较新的tgz包,自己编译和安装。
目前最新的HUE版本是4.1,考虑到最新版本与集群中已安装的hadoop组件的兼容性,选择了3个月前的次新的4.0版本。同时,本地先前已安装和配置了较多hadoop组件,准备工作简单很多,否则还有很多依赖包、环境准备等工作。
tar zxvf hue-4.0.1.tgz
sudo apt-get install libgmp-dev //编译时依赖gmp.h,没有此包会报"fatal error: gmp.h: No such file or directory"
make apps // 几分钟后即编译完成;make install 可选,可以不执行
理想情况下,这时在HUE目录下执行 ./build/env/bin/hue runserver 启动hue server后,就能在浏览器中通过 http://localhost:8000看到HUE的登录界面了。
但这只是理想情况,大多数情况下,尤其已安装过很多hadoop组件,且port号大量使用的情况下,需要配置后才能使用