HUE编译部署以及集成HDFS、YARN、HIVE及MYSQL

Hue是一个以Hadoop平台为基础的Web客户端工具,Hue不仅可以集成大数据平台的Hive、Impala、HBase、Solr等组件,提供易于操作的Web界面。
通过使用HUE工具,可以使用浏览器控制台对Hadoop生态圈中的各个组件进行交互控制,例如操作HDFS上的数据、运行MapReduce任务、操作HBase、操作Hive等等。

环境

Hue的安,官方并没有编译好的软件包,需要从github上或者Hue官网上下载源码、安装依赖、编译安装。

官方网站:https://gethue.com/
源码下载:https://docs.gethue.com/releases/
(这里用的是4.8.0版本:https://cdn.gethue.com/downloads/hue-4.8.0.tgz)
依赖环境:https://docs.gethue.com/administrator/installation/dependencies/
开发向导:https://docs.gethue.com/developer/development/#dependencies

Hue官网说明:
在这里插入图片描述
已经有的环境:

操作系统:CentOS Linux release 7.2.1511 (Core)
Git:1.8.3.1
JDK:jdk1.8.0_45
Maven:apache-maven-3.8.4-bin
MySQL:mysql-5.6.23-linux-glibc2.5-x86_64
Python:2.7.5

安装依赖

下载Hue源码包:
wget https://cdn.gethue.com/downloads/hue-4.8.0.tgz
安装必要的依赖

(需要sudo权限,或者root用户先执行):

yum -y 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 python-devel sqlite-devel gmp-devel
Node.js 安装

之前用node-v16.13.0-linux-x64.tar.xz这个版本,编译Hue一直报错,没有编译成功,换成v14.16.0版本的编译成功了,可能V16版本有不支持。

wget https://nodejs.org/dist/v14.16.0/node-v14.16.0-linux-x64.tar.gz
然后解压配置环境变量即可(我再root用户下安装的Node.js)。

编译Hue

解压Hue源码包,进入hue源码目录,进行编译。使用 PREFIX 指定安装 Hue 的路径

tar -zxvf hue-4.8.0.tgz -C ~/sourcecode/
cd ~/sourcecode/hue-4.8.0/
#然后执行命令,进行编译:
[ruoze@hadoop001 hue-4.8.0]$ PREFIX=/home/ruoze/app/hue make install

结果:
在这里插入图片描述
编译结果并不顺利,如果出现了什么错误需要根据具体的错误进行调整,比如缺少什么依赖,需要去安装缺少的依赖等。

Hue部署以及集成HDFS、YARN、HIVE及MYSQL

HUE与Hadoop集成(hdfs、yarn)

在 hdfs-site.xml 中增加配置:

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

在core-site.xml中增加配置:

<!-- #设置Hadoop集群的代理用户 -->
   <!-- HUE -->
<property>
  <name>hadoop.proxyuser.ruoze.hosts</name>
  <value>*</value>
</property>
<!-- #设置Hadoop集群的代理用户组 -->
<property>
  <name>hadoop.proxyuser.ruoze.groups</name>
  <value>*</value>
</property>

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

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

修改完,需要重启hdfs服务。

Hue配置
#进入hue配置目录 修改HUE配置文件hue.ini
cd desktop/conf
#编辑 hue.ini 文件,修改如下:
vi hue.ini

#配置desktop
#hue主机地址
http_host=hadoop001
#端口号
http_port=8000
#时区
time_zone=Asia/Shanghai
dev=true
#服务器用户
server_user=ruoze
#服务器用户组
server_group=ruoze
#默认用户
default_user=ruoze
#默认HDFS超级用户
default_hdfs_superuser=ruoze
#app黑名单,禁用solr,规避报错
app_blacklist=search,impala,hbase,oozie

app_blacklist=impala,security,filebrowser,jobbrowser,rdbms,jobsub,pig,hbase,sqoop,zookeeper,metastore,spark,oozie,indexer

  [[database]]
engine=mysql
host=hadoop001
port=3306
user=root
password=password
name=hue



#如下是 HUE与Hadoop集成(hdfs、yarn)
#配置HDFS
#默认文件系统 8020? 9000?
fs_defaultfs=http://hadoop001:9000
#web hdfs的路径
webhdfs_url=http://hadoop001:9870/webhdfs/v1
#Hadoop配置文件目录
hadoop_conf_dir=$HADOOP_HOME/etc/hadoop

#配置YARN
#YARN的主机地址
resourcemanager_host=hadoop001
#YARN API的地址  8088改过的
resourcemanager_api_url=http://hadoop001:8123
#代理API的地址  8088改过的
proxy_api_url=http://hadoop001:8123
#历史服务器的API地址
history_server_api_url=http://hadoop001:19888
resourcemanager_port=8032
submit_to=True

HUE与Hive集成

集成Hive,在启动hue之前,需要启动 Hiveserver2 服务。
启动命令:

hive --service metastore &
#或者nohup hive --service metastore 2>&1 &

hive --service hiveserver2 &

配置 $HIVE_HOM/conf/hive-site.xml

<property>
  <name>hive.server2.thrift.port</name>
  <value>10000</value>
</property>
<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>hadoop001</value>
</property>
<property>
  <name>hive.server2.long.polling.timeout</name>
  <value>5000</value>
</property>
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://hadoop001:9083</value>
</property>

然后修改:$HUE_HOME/desktop/conf/hue.ini

#[beeswax]
#Hive主机地址
hive_server_host=hadoop001
#Hive主机端口
hive_server_port=10000
#Hive配置文件目录
hive_conf_dir=$HIVE_HOME/conf

# 注意到注释上说,11是hive3.0的
thrift_version=11
HUE与MySQL集成

修改:$HUE_HOME/desktop/conf/hue.ini

# [librdbms] -- [[databases]] -- [[[mysql]]];1639行
# 注意: ##[[mysql]] => [[mysql]];两个##要去掉!
# name是database_name
[[[mysql]]]
nice_name="My SQL DB"
name=hue
engine=mysql
host=hadoop001
port=3306
user=root
password=password
初始化Hue的MySQL元数据
#去mysql所在的机器上
#在mysql中创建数据库hue,用来存放元数据
mysql -uroot -ppassword
mysql> create database hue;

然后去Hue家目录

#新建数据库并初始化
cd hue/build/env/bin
./hue syncdb
./hue migrate

在这里插入图片描述

执行完之后,可以去mysql的hue数据库里看到对应的hue元数据。

启动hue
# 在hue安装路径下执行
build/env/bin/supervisor

如下:
在这里插入图片描述
然后在浏览器中输入:http://hadoop001:8000/
可以看到hue的界面,第一次登陆需要创建hue的用户名和密码,如下:
在这里插入图片描述
在这里插入图片描述

Hue界面验证

验证hdfs

如下,可以看到hdfs上的文件:
在这里插入图片描述

验证Hive

在Hive数据库中执行查询语句如下:
在这里插入图片描述

验证MySQL

在这里插入图片描述

注意事项

1.Hue集成RDBMS数据库需要在librdbms和notebook两个部分都需要添加相应的配置,否则在Hue界面上无法显示。

2.notebook配置部分需要注意,添加新的配置后覆盖默认的,导致Hive、Impala等不能再Hue上显示,配置时需要将需要的服务都添加上。

3.[[databases]]下可添加多个[[[mysql]]]或其他数据库,如果有多个mysql,分别命名为[[[mysql1]]],[[[mysql2]]]或其他名字区分,除此之外,还要添加notebook。

4.启动hue之前需要:启动Hive metastore、启动hiveserver2

5.core-site.xml配置中的ruoze用户需要和hue.ini中的用户一致,hue.ini默认为hue用户和组,这里修改成了ruoze用户,也是和Linux用户保持一致。

[desktop]
#服务器用户
server_user=ruoze
#服务器用户组
server_group=ruoze
#默认用户
default_user=ruoze
#默认HDFS超级用户
default_hdfs_superuser=ruoze

6.保证Hive metastore、hiveserver2的端口好不要被占用。

7.中间会出现一些错误,包括依赖、编译、hiveserver2启动、Hue启动、Hue界面都有可能出现报错等,报错的话需要耐心去排查定位错误。

参考文章:

https://www.jianshu.com/p/a80ec32afb27
https://www.cnblogs.com/LzsCxb/p/15585532.html
https://www.cnblogs.com/huangguoming/p/15796805.html
https://cloud.tencent.com/developer/article/1544858?from=15425
https://www.jianshu.com/p/dcef793cf395
https://www.jianshu.com/p/ab0f2e9e7d38
https://blog.csdn.net/clj198606061111/article/details/85210134
https://www.cnblogs.com/yfb918/p/11002460.html
https://blog.csdn.net/join_null/article/details/86687754
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值