Hue基本原理
Hue是一组WEB应用,用于和MRS大数据组件进行交互,能够帮助用户浏览HDFS,进行Hive查询,启动MapReduce任务等,它承载了与所有MRS大数据组件交互的应用。
Hue主要包括了文件浏览器和查询编辑器的功能:
- 文件浏览器能够允许用户直接通过界面浏览以及操作HDFS的不同目录;
- 查询编辑器能够编写简单的SQL,查询存储在Hadoop之上的数据。例如HDFS,HBase,Hive。 用户可以方便地创建、管理、执行SQL,并且能够以Excel的形式下载执行的结果。
通过Hue可以在界面针对组件进行以下操作:
- HDFS:
- 查看、创建、管理、重命名、移动、删除文件/目录。
- 上传、下载文件。
- 搜索文件、目录、文件所有人、所属用户组;修改文件以及目录的属主和权限。
- 手动配置HDFS目录存储策略,配置动态存储策略等操作。
- Hive:
- 编辑、执行SQL/HQL语句;保存、复制、编辑SQL/HQL模板;解释SQL/HQL语句;保存SQL/HQL语句并进行查询。
- 数据库展示,数据表展示。
- 支持多种Hadoop存储。
- 通过Metastore对数据库及表和视图进行增删改查等操作。
如果使用IE浏览器访问Hue界面来执行HQL,由于浏览器存在的功能问题,将导致执行失败。建议使用兼容的浏览器,例如Google Chrome浏览器。
- Impala:
- 编辑、执行SQL/HQL语句;保存、复制、编辑SQL/HQL模板;解释SQL/HQL语句;保存SQL/HQL语句并进行查询。
- 数据库展示,数据表展示。
- 支持多种Hadoop存储。
- 通过Metastore对数据库及表和视图进行增删改查等操作。
如果使用IE浏览器访问Hue界面来执行HQL,由于浏览器存在的功能问题,将导致执行失败。建议使用兼容的浏览器,例如Google Chrome浏览器。
- MapReduce:查看集群中正在执行和已经完成的MR任务,包括它们的状态、起始结束时间、运行日志等。
- Oozie:提供了Oozie作业管理器功能,使用户可以通过界面图形化的方式使用Oozie。
- ZooKeeper:提供了ZooKeeper浏览器功能,使用户可以通过界面图形化的方式查看ZooKeeper。
有关Hue的详细信息,请参见:http://gethue.com/。
Hue结构
Hue是建立在Django Python(开放源代码的Web应用框架)的Web框架上的Web应用程序,采用了MTV(模型M-模板T-视图V)的软件设计模式。
Hue由“Supervisor Process”和“WebServer”构成,“Supervisor Process”是Hue的核心进程,负责应用进程管理。“Supervisor Process”和“WebServer”通过“THRIFT/REST”接口与WebServer上的应用进行交互,如图1所示。