大数据Hadoop之——Hadoop图形化管理系统Hue(Hue环境部署)
一、概述
Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。
Hue官方网站:https://gethue.com/
官方文档:http://cloudera.github.io/hue/latest/
GitHub:https://github.com/cloudera/hue
二、Hue架构
从总体上来讲,Hue应用采用的是B/S架构,该web应用的后台采用python编程语言别写的。大体上可以分为三层,分别是前端view层、Web服务层和Backend服务层。Web服务层和Backend服务层之间使用RPC的方式调用。
从上图可以看出,Hue几乎可以支持所有大数据框架,包含有HDFS文件系统对的页面(调用HDFS API,进行增删改查的操作),有HIVE UI界面(使用HiveServer2,JDBC方式连接,可以在页面上编写HQL语句,进行数据分析查询),YARN监控及Oozie工作流任务调度页面等等。Hue通过把这些大数据技术栈整合在一起,通过统一的Web UI来访问和管理,极大地提高了大数据用户和管理员的工作效率。这里总结一下Hue支持哪些功能:
- SQL编辑器,支持Hive, Impala, MySQL, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix…
- 基于文件浏览器(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安装
1)安装数据源
这里以Hive为主实验,怎么安装hive,可以参考我之前的文章:大数据Hadoop之——数据仓库Hive
启动HDFS和Hive Metastore服务
# 启动HDFS
$ start-dfs.sh
# 启动hive Metastore
$ nohup hive --service metastore &
$ ss -atnlp|grep 9083
# 启动hiveserver2
$ nohup hiveserver2 > /dev/null 2>&1 &
$ jobs -l
# 启动有点慢,可以稍等一段时间再查看端口
$ ss -antlp|grep 11000
2)安装docker
# 安装yum-config-manager配置工具
$ yum -y install yum-utils
# 设置yum源
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce版本
$ sudo yum install -y docker-ce
# 启动
$ sudo systemctl start docker
# 开机自启
$ sudo systemctl enable docker
# 查看版本号
$ sudo docker --version
# 查看版本具体信息
$ sudo docker version
# Docker镜像源设置
# 修改文件 /etc/docker/daemon.json,没有这个文件就创建
# 添加以下内容后,重启docker服务:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
$ sudo systemctl restart docker
3)通过Docker快速安装
很多安装方式,可以参考GitHub上的说明,还有快速安装数据源的方式:https://github.com/cloudera/hue#getting-started
$ docker run -it -p 8888:8888 gethue/hue:latest
$ docker ps|grep hue
$ netstat -tnlp|grep 8888
WEB UI:http://192.168.0.113:8888/
创建超级用户
支持很多连接器
【温馨提示】如果端口不是默认的端口就必须修改,因为
hue.ini
里面配置的都是各个组件默认的端口,就拿hive来说就不是默认端口,这里得修改hue.ini
配置文件。连接器官网文档
# hive_server_port=11000
$ docker exec -it -- amazing_faraday /bin/bash
$ sed -i s/hive_server_port=10000/hive_server_port=11000/ /usr/share/hue/desktop/conf/hue.ini
# 修改完配置重启服务
$ docker restart amazing_faraday
3)通过CM安装集成到CDH
CM和CDH安装文档:
大数据Hadoop之——Cloudera Hadoop(CM 6.3.1+CDH 6.3.2环境部署)
CM WEB UI访问(账号/密码):http://hadoop-cdhmaster-168-182-161:7180/
1、添加服务
2、将 Hue 服务添加到 CDH
3、自定义角色分配
4、数据库设置
根据之前装CM时初始化数据库的设置来配置
5、安装完成
6、启动hue服务
7、创建账户
4)官方demo演示
https://demo.gethue.com/
账号/密码:demo/demo
四、Hue简单使用
Hue WEB UI:http://hadoop-cdhmaster-168-182-161:8888/
1)通过Hue操作HDFS
【温馨提示】如果需要在其它用户目录先修改创建文件就必须授权或者创建相对于的用户去登录访问
2)通过Hue操作Impala
关键字不区分大小写
show databases;
use test2022;
show tables;
3)通过Hue操作Hive
show databases;
【温馨提示】这里连接的beeline 的hiveserver2服务,端口10000。
Hue的基础部分就到了,如果小伙伴有疑问欢迎给我留言或者私信,后续内容更精彩,请耐心等待~