• 沒有找到結果。

5.12.1 Hue 基本原理

Hue是一组WEB应用,用于和MRS大数据组件进行交互,能够帮助用户浏览HDFS,进 行Hive查询,启动MapReduce任务等,它承载了与所有MRS大数据组件交互的应用。

Hue主要包括了文件浏览器和查询编辑器的功能:

● 文件浏览器能够允许用户直接通过界面浏览以及操作HDFS的不同目录;

● 查询编辑器能够编写简单的SQL,查询存储在Hadoop之上的数据。例如HDFS,

HBase,Hive。 用户可以方便地创建、管理、执行SQL,并且能够以Excel的形式 下载执行的结果。

通过Hue可以在界面针对组件进行以下操作:

● HDFS:

● Hive:

– 编辑、执行SQL/HQL语句;保存、复制、编辑SQL/HQL模板;解释 SQL/HQL语句;保存SQL/HQL语句并进行查询。

– 数据库展示,数据表展示。

– 支持多种Hadoop存储。

– 通过metastore对数据库及表和视图进行增删改查等操作。

说明

如果使用IE浏览器访问Hue界面来执行HiveSQL,由于浏览器存在的功能问题,将导致执 行失败。建议使用兼容的浏览器,例如Google Chrome浏览器。

● Impala:

– 编辑、执行SQL/HQL语句;保存、复制、编辑SQL/HQL模板;解释 SQL/HQL语句;保存SQL/HQL语句并进行查询。

– 数据库展示,数据表展示。

– 支持多种Hadoop存储。

– 通过metastore对数据库及表和视图进行增删改查等操作。

说明

如果使用IE浏览器访问Hue界面来执行HiveSQL,由于浏览器存在的功能问题,将导致执 行失败。建议使用兼容的浏览器,例如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上的应用进行交互,如图5-61所示。

5-61 Hue 架构示意图

图5-61中各部分的功能说明如表5-13所示。

5-13 结构图说明

名称 描述

Supervisor

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

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

● 部署APPs。

● 提供图形化用户界面。

● 与数据库连接,存储APPs的持久化数据。

5.12.2 Hue 与其他组件的关系

Hue 与 Hadoop 集群的关系

Hue与Hadoop集群的交互关系如图5-62所示。

5-62 Hue 与 Hadoop 集群

5-14 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执行,同时把执行结果通过浏览器呈现给用 户。

5.12.3 Hue 开源增强特性

Hue 开源增强特性

● 存储策略定义。HDFS文件存储在多种等级的存储介质中,有不同的副本数。本特 性可以手工设置HDFS目录的存储策略,或者根据HDSF文件最近访问时间和最近 修改时间,自动调整文件存储策略、修改文件副本数、移动文件所在目录、自动 删除文件,以便充分利用存储的性能和容量。

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

● 可靠性增强。Hue自身主备部署。Hue与HDFS、Oozie、Hive、Yarn等对接时,

支持Failover或负载均衡工作模式。