第一部分 Hue概述

Hue(Hadoop User Experience)是一个开源的 Apache Hadoop UI 系统,最早是由Cloudera Desktop 演化而来,由 Cloudera 贡献给开源社区,它是基于 Python Web 框架 Django 实现的。通过使用 Hue 可以在浏览器端的 Web 控制台上与Hadoop 集群进行交互来分析处理数据,例如操作 HDFS 上的数据,运行MapReduce Job 等等。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数据库查询编辑器

一句话总结:Hue是一个友好的界面集成框架,可以集成我们各种学习过的以及将要学习的框架,一个界面就可以做到查看以及执行所有的框架。


类似的产品还有 Apache Zeppelin。

第二部分 Hue编译安装

Hue官方网站:https://gethue.com/
HUE官方用户手册:https://docs.gethue.com/
官方安装文档:https://docs.gethue.com/administrator/installation/install/
HUE下载地址:https://docs.gethue.com/releases/

Hue的安装并不是那么简单,官方并没有编译好的软件包,需要从github上下载源码、安装依赖、编译安装。以下详细讲解Hue下载、编译、安装的操作过程。

安装Hue的节点上最好没有安装过MySQL,否则可能有版本冲突,这里选择将Hue安装在 linux122 上。

1、下载软件包、上传、解压(hue-release-4.3.0.zip、apache-maven-3.6.3-bin.tar.gz)
2、安装依赖包
3、安装maven
4、hue编译
5、修改hadoop配置
6、修改hue配置
7、启动hue服务

2.1、下载软件包

到官方网站下载 hue-release-4.3.0.zip;上传至服务器,并解压缩

yum install unzip
unzip hue-release-4.3.0.zip

2.2、安装依赖

# 需要Python支持(Python 2.7+ / Python 3.5+)
python --version
# 在 CentOS 系统中安装编译 Hue 需要的依赖库
yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel pythondevel sqlite-devel gmp-develyum install -y rsync

备注:
以上依赖仅适用CentOS/RHEL 7.X,其他情况请参考https://docs.gethue.com/adm
inistrator/installation/dependencies/
安装Hue的节点上最好没有安装过MySQL,否则可能有版本冲突
安装过程中需要联网,网络不好会有各种奇怪的问题

2.3、安装Maven

编译 Hue 还需要 Maven 环境,因此在编译前需要安装 Maven。
下载 apache-maven-3.6.3-bin.tar.gz,上传虚拟机解压缩,添加环境变量

vi /etc/profile
# 添加环境变量
export MAVEN_HOME=/opt/lagou/servers/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
# 验证安装
mvn --version

2.4、编译

# 进入 hue 源码目录,进行编译。 使用 PREFIX 指定安装 Hue 的路径
cd /opt/lagou/software/hue-release-4.3.0
PREFIX=/opt/lagou/servers make install
cd /opt/lagou/servers
# 如果想把HUE从移动到另外一个地方,由于HUE使用了Python包的一些绝对路径,移动之
后则必须执行以下命令:
# 这里不要执行
rm app.reg
rm -r build
make apps

备注:这一步持续的时间比较长,还会从网上下载 jar;需要联网

2.5、修改 Hadoop 配置文件

在 hdfs-site.xml 中增加配置

<!-- HUE -->
<property><name>dfs.webhdfs.enabled</name><value>true</value>
</property>
<property><name>dfs.permissions.enabled</name><value>false</value>
</property>

在 core-site.xml 中增加配置

<!-- HUE -->
<property><name>hadoop.proxyuser.hue.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.hue.groups</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.hdfs.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.hdfs.groups</name><value>*</value>
</property>

增加 httpfs-site.xml 文件,加入配置

<configuration>
<!-- HUE -->
<property><name>httpfs.proxyuser.hue.hosts</name><value>*</value>
</property>
<property><name>httpfs.proxyuser.hue.groups</name><value>*</value>
</property>
</configuration>

备注:修改完HDFS相关配置后,需要把配置scp给集群中每台机器,重启hdfs服务。

2.6、Hue配置

# 进入 Hue 安装目录
cd /opt/lagou/servers/hue
# 进入配置目录
cd desktop/conf
# 复制一份HUE的配置文件,并修改复制的配置文件
cp pseudo-distributed.ini.tmpl pseudo-distributed.ini
vi pseudo-distributed.ini
# [desktop]
http_host=linux122
http_port=8000
is_hue_4=true
time_zone=Asia/Shanghai
dev=true
server_user=hue
server_group=hue
default_user=hue
# 211行左右。禁用solr,规避报错
app_blacklist=search
# [[database]]。Hue默认使用SQLite数据库记录相关元数据,替换为mysql
engine=mysql
host=linux123
port=3306
user=hive
password=12345678
name=hue
# 1003行左右,Hadoop配置文件的路径
hadoop_conf_dir=/opt/lagou/servers/hadoop-2.9.2/etc/hadoop
# 在mysql中创建数据库hue,用来存放元数据
mysql -uhive -p12345678
mysql> create database hue;
# 初始化数据库
build/env/bin/hue syncdb
build/env/bin/hue migrate
# 检查数据

2.7、启动 Hue 服务

# 增加 hue 用户和用户组
groupadd hue
useradd -g hue hue
# 在hue安装路径下执行
build/env/bin/supervisor

启动时会报错:是为创建hue用户,可参考
https://blog.csdn.net/weixin_44388193/article/details/103146690

在浏览器中输入:linux122:8000,可以看见以下画面,说明安装成功。
第一次访问的时候,需要设置超级管理员用户和密码。记住它(hue/123456)。

第三部分 Hue整合Hadoop、Hive

修改参数文件 /opt/lagou/servers/hue/desktop/conf/pseudo-distributed.ini

3.1 集成HDFS、YARN

# 211 行。 没有安装 Solr,禁用,否则一直报错
app_blacklist=search
# [hadoop] -- [[hdfs_clusters]] -- [[[default]]]
# 注意端口号。下面语句只要一个
# fs_defaultfs=hdfs://linux121:8020
fs_defaultfs=hdfs://linux121:9000webhdfs_url=http://linux121:50070/webhdfs/v1
# 211 行
hadoop_conf_dir=/opt/lagou/servers/hadoop-2.9.2/etc/hadoop
# [hadoop] -- [[yarn_clusters]] -- [[[default]]]
resourcemanager_host=linux123
resourcemanager_port=8032
submit_to=True
resourcemanager_api_url=http://linux123:8088
proxy_api_url=http://linux123:8088
history_server_api_url=http://linux123:19888

3.2 集成Hive

集成Hive需要启动 Hiveserver2 服务,在linux123节点上启动 Hiveserver2

# [beeswax]
hive_server_host=linux123
hive_server_port=10000
hive_conf_dir=/opt/lagou/servers/hive-2.3.7/conf

3.3 集成MySQL

# [librdbms] -- [[databases]] -- [[[mysql]]];1639行
# 注意:1639行原文: ##[[mysql]] => [[mysql]];两个##要去掉!
[[[mysql]]]
nice_name="My SQL DB"
name=hue
engine=mysql
host=linux123
port=3306
user=hive
password=12345678

备注:name是数据库名,即 database 的名称

3.4 重启Hue服务

ctrl+z 停止./supervisor

然后用kill 杀死进程

中文报错:

(1366, “Incorrect string value: ‘\xE3\x80\x81\xE6\x8C\x89…’ for column ‘search’ at row 1”)

【原因分析】
HUE 的元数据库字符编码问题

【解决方法】
在hue的元数据库中以依次执行如下语句:

alter database hue character set latin1;use hue;alter table beeswax_queryhistory modify `query` longtext character set utf8 collate utf8_general_ci not null;alter table desktop_document2 modify column name varchar(255) character set utf8;alter table desktop_document2 modify column description longtext character set utf8;alter table desktop_document2 modify column search longtext character set utf8;

数据交互工具 HUE相关推荐

  1. 数据交互工具 -- HUE

    相关资料包:https://pan.baidu.com/s/1y0cmzWN9VwrXVzSKEeIG1Q?pwd=5j0o 1.Hue概述 Hue(Hadoop User Experience)是一 ...

  2. 大数据交互平台Hue的优势

    本文系统地讲解了Hue作为大数据分析交互平台的优势!欢迎批评指正! Hue Web应用的架构 Hue 是一个Web应用,用来简化用户和Hadoop集群的交互.Hue技术架构,如下图所示,从总体上来讲, ...

  3. 大数据WEB工具Hue

    1.Hue的安装 (1)解压hue的安装包. cdh]$ tar -zxf hue-3.7.0-cdh5.3.6-build.tar.gz -C /opt/app/ (2)编辑配置文件/opt/app ...

  4. 【Hue】大数据WEB工具Hue

    1.Hue简介 Hue是一个开源的Apache hadoop UI系统,Hue的默认数据库是SQL Lite,是一个文件浏览器,支持文件的增删改查,Hue的压缩包下载之后,需要进行二次的编译才能使用. ...

  5. 数据交互 -- HUE

    一.Hue概述 HUE(Hadoop User Experience)是一个开源的Apache Hadoop UI系统,最早由Cloudera Desktop演化而来,是基于Python Web框架实 ...

  6. 大数据——Impala工具使用

    目录 一.Impala概述 二.Impala优点 三.Impala和Hive 3.1 Impala和Hive的关系 3.2 Impala和Hive的区别 五.Impala查询过程 六.Impala安装 ...

  7. 《OpenCV图像处理》——1.7 用户交互工具

    本节书摘来自华章计算机<OpenCV图像处理>一书中的第1章,第1.7节,作者:[西]葛罗瑞亚·布埃诺·加西亚(Gloria Bueno García)著,更多章节内容可以访问云栖社区&q ...

  8. 大数据可视化html模板开源_5个最受工程师欢迎的大数据可视化工具

    大数据可视化是进行各种大数据分析解决的最重要组成部分之一. 一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了. 为了满足并超越客户的期望,大数据可视化工具应该具备这些特征: 能够处理不同种类 ...

  9. 干货 | 万字长文全面解析GraphQL,携程微服务背景下的前后端数据交互方案

    作者简介 古映杰,携程研发高级经理,负责前端框架和基础设施的设计.研发与维护.开源项目react-lite和react-imvc作者. 前言 随着多终端.多平台.多业务形态.多技术选型等各方面的发展, ...

最新文章

  1. svn显示html,而不是源代码
  2. 让你的 Qt 桌面程序看上去更加 native(三):自定义 style
  3. python log函数_python装饰器的使用
  4. Android 打开蓝牙流程
  5. 如何在M1的Mac上检查App是原生执行,还是Rosetta转译后执行?
  6. 8.Linux 高性能服务器编程 --- 高性能服务器程序框架
  7. 3项目里面全局用less变量 cli vue_Vue.js构建工具比较
  8. 计算机实验报告protel,Protel99se实验报告.doc
  9. Opencv Camshift对象跟踪
  10. python微博接口_Python使用新浪微博API发送微博的例子
  11. 映像劫持与反劫持技术
  12. AcWing 790 数的三次方根
  13. 听课笔记-名校启程大学规划课
  14. Springboot实战:项目部署
  15. STP-16-根防护,BPDU防护和BPDU过滤
  16. 一篇很好的EDP入门介绍文章——了解AUX,PSR,ASSR 以及EDP版本的差异
  17. Block Recurrent Transformer:结合了LSTM和Transformer优点的强大模型
  18. 实现企业微信引流的三大思路
  19. 从两年三次大调整,看滴滴的鲜花和荆棘
  20. ⭐算法入门⭐《堆》中等01 —— LeetCode 面试题 17.09. 第 k 个数

热门文章

  1. 新书推荐 |《种子用户方法论》
  2. .net 学习路线感想(转)
  3. 分布式锁使用注意事项
  4. ESP8266开发之旅 进阶篇⑩ sniffer混杂模式,监听802.11帧,黑科技基础
  5. 数据分析真题日刷 | 商汤科技2018校招C++/算法开发/大数据/后端/运维/测试/数据挖掘开发工程师笔试第二场
  6. CobaltStrike上线Linux主机(CrossC2)
  7. 互联网信息服务(仅限互联网信息服务)
  8. php 判断是什么服务器,php判断服务器是apache还是nginx的方法
  9. 自己动手DIY微距摄影专业境界(创建流程全记录)
  10. 【Flutter 实战】简约而不简单的计算器