Hue简介
Hue是一组WEB应用,用于和MRS大数据组件进行交互,能够帮助用户浏览HDFS,进行Hive查询,启动MapReduce任务等,它承载了与所有MRS大数据组件交互的应用。Hue主要包括了文件浏览器和查询编辑器的功能:
文件浏览器能够允许用户直接通过界面浏览以及操作HDFS的不同目录。
查询编辑器能够编写简单的SQL,查询存储在Hadoop之上的数据,例如HDFS,HBase,Hive。 用户可以方便地创建、管理、执行SQL,并且能够以Excel的形式下载执行的结果。
通过Hue可以在界面针对组件进行以下操作:
组件名称
|
操作类型
|
---|---|
HDFS |
1、查看、创建、管理、重命名、移动、删除文件/目录。 2、上传、下载文件。 3、搜索文件、目录、文件所有人、所属用户组;修改文件以及目录的属主和权限。 4、手动配置HDFS目录存储策略,配置动态存储策略等操作。 |
Hive |
1、编辑、执行SQL/HQL语句;保存、复制、编辑SQL/HQL模板;解释SQL/HQL语句;保存SQL/HQL语句并进行查询。 2、数据库展示,数据表展示。 3、支持多种Hadoop存储。 4、通过metastore对数据库及表和视图进行增删改查等操作。 |
Impala |
1、编辑、执行SQL/HQL语句;保存、复制、编辑SQL/HQL模板;解释SQL/HQL语句;保存SQL/HQL语句并进行查询。 2、数据库展示,数据表展示。 3、支持多种Hadoop存储。 4、通过metastore对数据库及表和视图进行增删改查等操作。 |
MapReduce |
查看集群中正在执行和已经完成的MR任务,包括它们的状态、起始结束时间、运行日志等。 |
Oozie |
提供了Oozie作业管理器功能,使用户可以通过界面图形化的方式使用Oozie。 |
ZooKeeper |
提供了ZooKeeper浏览器功能,使用户可以通过界面图形化的方式查看ZooKeeper。 |
Hue结构
Hue是建立在Django Python(开放源代码的Web应用框架)的Web框架上的Web应用程序,采用了MTV(模型M-模板T-视图V)的软件设计模式。
Hue由“Supervisor Process”和“WebServer”构成,“Supervisor Process”是Hue的核心进程,负责应用进程管理。“Supervisor Process”和“WebServer”通过“THRIFT/REST”接口与WebServer上的应用进行交互,如图所示。
- Supervisor Process
Supervisor负责WebServer上APP的进程管理:启动、停止、监控等。
- Hue WebServer
通过Django Python的Web框架提供如下功能:
1、部署APPs。
2、提供图形化用户界面。
3、与数据库连接,存储APPs的持久化数据。
Hue与其他组件的关系
Hue与Hadoop集群的交互关系如图所示。
组件名称
|
与Hue的关系
|
---|---|
HDFS |
HDFS提供REST接口与Hue交互,用于查询、操作HDFS文件。 在Hue把用户请求从用户界面组装成接口数据,通过调用REST接口调用HDFS,通过浏览器返回结果呈现给用户。 |
Hive |
Hive提供THRIFT接口与Hue交互,用于执行Hive SQL、查询表元数据。 在Hue界面编辑HQL语句,通THRIFT接口提交HQL语句到HIVESERVER执行,同时把执行通过浏览器呈现给用户。 |
Yarn/MapReduce |
MapReduce提供REST与Hue交互,用于查询Yarn作业信息。 进入Hue页面,输入筛选条件参数,UI将参数发送到后台,Hue通过调用MapReduce(MR1/MR2-YARN)提供的REST接口,获取任务运行的状态,起始结束时间、运行日志等信息。 |
Oozie |
Oozie提供REST接口与Hue交互,用于创建工作流、Coordinator、Bundle,以及它们的任务管理和监控。 在Hue前端提供图形化工作流、Coordinator、Bundle编辑器,Hue调用Oozie REST接口对工作流、Coordinator、Bundle进行创建、修改、删除、提交、监控。 |
ZooKeeper |
ZooKeeper提供REST接口与Hue交互,用于查询ZooKeeper节点信息。 在Hue前端显示ZooKeeper节点信息,Hue调用ZooKeeper REST接口获取这些节点信息。 |
Impala |
Impala提供Hue beeswax接口与Hue交互,用于执行Hive SQL、查询表元数据。 在Hue界面编辑HQL语句,通Hue beeswax接口提交HQL语句到HIVESERVER执行,同时把执行结果通过浏览器呈现给用户。 |
Hue开源增强特性
-
HDFS文件存储在多种等级的存储介质中,有不同的副本数。本特性可以手工设置HDFS目录的存储策略,或者根据HDSF文件最近访问时间和最近修改时间,自动调整文件存储策略、修改文件副本数、移动文件所在目录、自动删除文件,以便充分利用存储的性能和容量。
HDFS文件存储在多种等级的存储介质中,有不同的副本数。本特性可以手工设置HDFS目录的存储策略,或者根据HDSF文件最近访问时间和最近修改时间,自动调整文件存储策略、修改文件副本数、移动文件所在目录、自动删除文件,以便充分利用存储的性能和容量。
-
用户执行Hive SQL可以选择使用MR引擎执行。
Hue自身主备部署。Hue与HDFS、Oozie、Hive、Yarn等对接时,支持Failover或负载均衡工作模式。
用户执行Hive SQL可以选择使用MR引擎执行。
Hue自身主备部署。Hue与HDFS、Oozie、Hive、Yarn等对接时,支持Failover或负载均衡工作模式。