返回介绍

2.4 Hue

发布于 2024-09-24 23:25:31 字数 4594 浏览 0 评论 0 收藏 0

Hue(Hadoop User Experience)是一个开源的 Web 界面,旨在简化 Hadoop 生态系统中的数据分析和管理。它提供了一系列工具,用户可以通过图形界面访问和操作 Hadoop 的各个组件,如 Hive、Pig 和 HDFS。Hue 支持运行 SQL 查询、管理文件、可视化数据,并提供各种插件来扩展功能。通过 Hue,用户 可以更直观地与数据交互,提升工作效率。你对 Hue 的某个特定功能感兴趣吗?

基本原理

Hue 提供了 FusionInsight HD 应用的图形化用户界面。Hue 支持展示多种组件,目前支持 HDFS、Hive、YARN/MapReduce、Oozie、Solr、ZooKeeper 以及 Spark。通过 Hue 可以在界面针对组件进行以下操作。

HDFS:查看、创建、管理、删除文件/目录,上传文件;手动配置 HDFS 目录存储策略,配置动态存储策略等操作。

Hive:编辑、执行 HQL,也可通过 metastore 对数据库及表和视图进行增删改查等操作。

image-20191205205231920

说明:

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

  • MapReduce:查看集群中正在执行和已经完成的 MR 任务,包括它们的状态,起始结束时间、运行日志等。

  • Oozie:提供了 Oozie 作业管理器功能,使用户可以通过界面图形化的方式使用 Oozie。

  • Solr:支持基于 Solr 进行搜索的应用,并提供可视化的数据视图。

  • ZooKeeper:提供了 ZooKeeper 浏览器功能,使用户可以通过界面图形化的方式查看 ZooKeeper。

  • Spark:编辑、执行 Spark SQL,查看执行结果等。

结构

Hue 是建立在 Django Python 的 Web 框架上的 Web 应用程序,采用了 MTV(模型 M-模板 T-视图 V) 的软件设计模式。(Django Python 是开放源代码的 Web 应用框架。)

Hue 由“Supervisor Process”和“WebServer”构成。“Supervisor Process”是 Hue 的核心进程,负责应用进程管理。

“Supervisor Process”和“WebServer”通过“THRIFT/REST”接口与 WebServer 上的应用进行交互,如 图 1 所示。

image-20191205205254724

图 Hue 架构示意图

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

表 1 结构图说明 
名称描述
Supervisor ProcessSupervisor 负责 WebServer 上 APP 的进程管理:启动、停止、监控等。
Hue WebServer通过 Django Python 的 Web 框架提供如下功能。 部署 APPs。 提供图形化用户界面。 与数据库连接,存储 APPs 的持久化数据。

与组件的关系

Hue 与 Hadoop 集群的交互关系如 图 1 所示。

image-20191205205311784

图 Hue 与 Hadoop 集群

表 1 Hue 与 Hadoop 集群交互关系 
名称描述
HDFSHDFS 提供 REST 接口与 Hue 交互,用于查询、操作 HDFS 文件。
HiveHive 提供 THRIFT 接口与 Hue 交互,用于执行 Hive SQL、查询表元数据。
YARN/MapReduceMapReduce 提供 REST 与 Hue 交互,用于查询 Yarn 作业信息。
OozieOozie 提供 REST 接口与 Hue 交互,用于创建工作流、Coordinator、Bundle,以及它们的任务管理和监控。
SolrSolr 提供 REST 接口与 Hue 交互,用于定义 Index、搜索。
ZookeeperZookeeper 提供 REST 接口与 Hue 交互,用于查询 Zookeeper 节点信息。
SparkHive 提供 JDBC 接口与 Hue 交互,用于执行 Spark SQL。
  • Hue 与 HDFS 交互原理

在 Hue 把用户请求从用户界面组装成接口数据,通过调用 REST 接口调用 HDFS,通过浏览器返回结果呈现给用户。

  • Hue 与 Hive 交互原理

在 Hue 界面编辑 HQL 语句,通 THRIFT 接口提交 HQL 语句到 HIVESERVER 执行,同时把执行通过浏览器呈现给用户。

  • Hue 与 MapReduce 交互原理

进入 Hue 页面,输入筛选条件参数,UI 将参数发送到后台,Hue 通过调用 MapReduce(MR1/MR2-YARN) 提供的 REST 接口,获取任务运行的状态,起始结束时间、运行日志等信息。

  • Hue 与 Oozie 交互原理

在 Hue 前端提供图形化工作流、Coordinator、Bundle 编辑器,Hue 调用 Oozie REST 接口对工作流、Coordinator、Bundle 进行创建、修改、删除、提交、监控。

  • Hue 与 Solr 交互原理

在 Hue 前端通过浏览器点击、输入等方式输入筛选参数,Hue 前端将筛选参数传到后台,Hue 后台调用 Solr 的 REST 接口,然后以 JSON 格式将 Solr 返回的结果返回给 Hue 前台,Hue 前台利用图标控件将结果展示出来。

  • Hue 与 Zookeeper 交互原理

在 Hue 前端显示 Zookeeper 节点信息,Hue 调用 Zookeeper REST 接口获取这些节点信息。

  • 在 Hue 前端提供 Spark SQL 编辑器,Hue 调用 Spark 的 JDBC 接口执行 Spark SQL。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文