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文件最近访问时间和最近修改时间,自动调整文件存储策略、修改文件副本数、移动文件所在目录、自动删除文件,以便充分利用存储的性能和容量。

  • MR引擎及可靠性增强

    用户执行Hive SQL可以选择使用MR引擎执行。

    Hue自身主备部署。Hue与HDFS、Oozie、Hive、Yarn等对接时,支持Failover或负载均衡工作模式。

    用户执行Hive SQL可以选择使用MR引擎执行。

    Hue自身主备部署。Hue与HDFS、Oozie、Hive、Yarn等对接时,支持Failover或负载均衡工作模式。