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或负载均衡工作模式。