更新时间:2023-11-07 GMT+08:00

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所示。

图1 Hue架构示意图

图1中各部分的功能说明如表1所示。

表1 结构图说明

名称

描述

Supervisor Process

Supervisor负责WebServer上APP的进程管理:启动、停止、监控等。

Hue WebServer

通过Django Python的Web框架提供如下功能。

  • 部署APPs。
  • 提供图形化用户界面。
  • 与数据库连接,存储APP的持久化数据。