hue定义:
HUE=Hadoop User Experience
-
个人理解
:可视图的webui界面,方便大数据技术之间的CRUD操作。 -
官方定义
:Hue是一个能够与Apache Hadoop交互的Web应用程序。一个开源的Apache Hadoop UI。 -
特性
:一个HDFS的文件浏览器,一个MapReduce/YARN的Job浏览器,一个 HBas的浏览器,Hive,Pig,Cloudera Impala 和 Sqoop2 的查询编辑器。它还附带了一个Oozie的应用程序,用于创建和监控工作流程,一个Zookeeper浏览器和SDK。 -
历史演变
:Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。
hue的核心功能:
-
SQL编辑器
:支持Hive, Impala, MySQL, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix… - 搜索引擎Solr的各种图表
- Spark和Hadoop的友好界面支持
- 支持调度系统Apache Oozie,可进行workflow的编辑、查看
HUE提供的这些功能相比Hadoop生态各组件提供的
界面更加友好
,但是一些需要
debug的场景
可能还是需要使用原生系统才能更加深入的找到错误的原因。
HUE中查看Oozie workflow时,也可以很方便的看到整个workflow的DAG图,不过在最新版本中已经将DAG图去掉了,只能看到workflow中的action列表和他们之间的跳转关系,想要看DAG图的仍然可以使用oozie原生的界面系统查看
hue的架构:
Hue 是一个Web应用,用来简化用户和Hadoop集群的交互。Hue技术架构,如下图所示,从总体上来讲,Hue应用采用的是B/S架构,该web应用的后台采用python编程语言别写的。大体上可以分为三层,分别是
前端view层
、
Web服务层
和
Backend服务层
。Web服务层和Backend服务层之间使用RPC的方式调用。
hue与其他技术的整合
由于大数据框架很多,为了解决某个问题,一般来说会用到
多个框架
,但是每个框架又都有自己的
web UI监控界面
,对应着不同的端口号。比如HDFS(50070)、YARN(8088)、MapReduce(19888)等。这个时候有一个
统一的web UI界面
去管理各个大数据常用框架是非常方便的。这就使得对大数据的
开发
、
监控
和
运维
更加的方便。
从上图可以看出,Hue几乎可以支持所有
大数据框架
,包含有HDFS文件系统对的页面(调用HDFS API,进行增删改查的操作),有HIVE UI界面(使用HiveServer2,JDBC方式连接,可以在页面上编写HQL语句,进行数据分析查询),YARN监控及Oozie工作流任务调度页面等等。Hue通过把这些
大数据技术栈整合
在一起,通过
统一的Web UI来访问和管理
,极大地提高了大数据用户和管理员的工作效率。这里总结一下Hue支持哪些功能:
- 默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle
-
基于
文件浏览器
(File Browser)访问HDFS -
基于
Hive编辑器
来开发和运行Hive查询 -
支持
基于Solr进行搜索的应用
,并提供可视化的数据视图,以及仪表板(Dashboard) -
支持
基于Impala的应用
进行交互式查询 -
支持
Spark编辑器
和仪表板(Dashboard) -
支持
Pig编辑器
,并能够提交脚本任务 -
支持
Oozie编辑器
,可以通过仪表板提交和监控Workflow、Coordinator和Bundle -
支持
HBase浏览器
,能够可视化数据、查询数据、修改HBase表 -
支持
Metastore浏览器
,可以访问Hive的元数据,以及HCatalog -
支持
Job浏览器
,能够访问MapReduce Job(MR1/MR2-YARN) -
支持
Job设计器
,能够创建MapReduce/Streaming/Java Job -
支持
Sqoop 2编辑器
和仪表板(Dashboard) -
支持
ZooKeeper浏览器
和编辑器 -
支持MySql、PostGresql、Sqlite和Oracle
数据库查询编辑器
-
使用sentry基于
角色的授权
以及
多租户的管理
.(Hue 2.x or 3.x)
hue支持的框架
-> hadoop
-> HDFS
-> CRUD
-> yarn
-> 任务的监控
-> 自动刷新,权限管理
-> oozie
-> 任务的监控及调度
-> 便捷的任务流的图形化的编写
-> PIG
-> hive
-> 提供简洁的图形化操作界面
-> 提供报表的生成
-> impala
-> hbase
-> sqoop2
-> RDBMS
-> MySQL
-> oracle