神铸利刃·装备养成活动门户

HUE安装与配置

通过百度网盘分享的文件:hue

链接:百度网盘 请输入提取码

提取码:Ltzn

1.到官方网站下载 hue-release-4.3.0.zip;上传至服务器,并解压缩。(目录:/opt/zack/software)

yum install unzip

unzip hue-release-4.3.0.zip

2.安装依赖

# 需要Python支持(Python 2.7+ / Python 3.5+)

python --version

# 注意:python2.7.5 没有pip工具,需要安装

yum install -y python-devel krb5-devel \

&& curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py \

&& python get-pip.py

# 在 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 python-devel sqlite-devel gmp-devel

3.安装Maven

编译 Hue 还需要 Maven 环境,因此在编译前需要安装 Maven。

下载 apache-maven-3.6.3-bin.tar.gz,上传虚拟机解压缩,添加环境变量

# 解压Maven包

tar zxvf apache-maven-3.6.3-bin.tar.gz

# 移动到servers文件中

mv apache-maven-3.6.3 /opt/zack/servers/

# 添加环境变量

vi /etc/profile

export MAVEN_HOME=/opt/zack/servers/apache-maven-3.6.3

export PATH=$PATH:$MAVEN_HOME/bin

#使环境变量生效

source /etc/profile

# 验证安装

mvn --version

4.编译Hue

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

cd /opt/zack/software/hue-release-4.3.0

PREFIX=/opt/zack/servers make install

# 报错:distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('cffi>=1.7')

#解决cffi依赖

pip install cffi

# 注意:重新编译(servers/hue 删除 hue-release-4.3.0 删除)

rm -rf hue

rm -rf hue-release-4.3.0

# 重新解压hue-release-4.3.0 在进行编译

unzip hue-release-4.3.0.zip

cd /opt/zack/software/hue-release-4.3.0

PREFIX=/opt/zack/servers make install

这一步持续的时间比较长,还会从网上下载 jar;需要联网 (等待)

5.修改 Hadoop 配置文件

在 hdfs-site.xml 中增加配置

# 进入cd /opt/zack/servers/hadoop-2.9.2/etc/hadoop/ 增加配置

dfs.webhdfs.enabled

true

dfs.permissions.enabled

false

在 core-site.xml 中增加配置

# 进入cd /opt/zack/servers/hadoop-2.9.2/etc/hadoop/ 增加配置

hadoop.proxyuser.hue.hosts

*

hadoop.proxyuser.hue.groups

*

hadoop.proxyuser.hdfs.hosts

*

hadoop.proxyuser.hdfs.groups

*

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

# 进入cd /opt/zack/servers/hadoop-2.9.2/etc/hadoop/ 增加配置

httpfs.proxyuser.hue.hosts

*

httpfs.proxyuser.hue.groups

*

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

hdfs-site.xml 分发

scp hdfs-site.xml root@linux121:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

scp hdfs-site.xml root@linux123:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

core-site.xml 分发

scp core-site.xml root@linux121:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

scp core-site.xml root@linux123:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

httpfs-site.xml 分发

scp httpfs-site.xml root@linux121:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

scp httpfs-site.xml root@linux123:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

# 重启主机

reboot

# 重新启动hdfs和yarn

linux121:start-dfs.sh

linux123:start-yran.sh

6.Hue配置

# 进入 Hue 安装目录

cd /opt/zack/servers/hue

# 进入配置目录

cd desktop/conf

# 复制一份HUE的配置文件,并修改复制的配置文件

cp pseudo-distributed.ini.tmpl pseudo-distributed.ini

vi pseudo-distributed.ini

# [desktop] 搜索 :/http_host 显示行号:set number

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/zack/servers/hadoop-2.9.2/etc/hadoop

在mysql中创建数据库hue,用来存放元数据

# linux123创建数据库

mysql -uhive -p12345678

create database hue;

# 初始化数据库 (linux122)

# 进入 cd /opt/zack/servers/hue/build/env/bin/

./hue syncdb

./hue migrate

启动 Hue 服务

# 增加 hue 用户和用户组

groupadd hue

useradd -g hue hue

# 在hue安装路径下执行 cd /opt/zack/servers/hue/build/env/bin/

./supervisor

# 在web浏览器输入地址:linux122:8000

注意:

连接错误:

Could not connect to localhost:10000

Could not connect to localhost:10000 (code THRIFTTRANSPORT): TTransportException('Could not connect to localhost:10000',)

解决:Hue整合Hadoop、Hive

8.集成HDFS、YARN

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

# [hadoop] -- [[hdfs_clusters]] -- [[[default]]]

# 注意端口号。下面语句只要一个

# fs_defaultfs=hdfs://linux121:8020

fs_defaultfs=hdfs://linux121:9000

webhdfs_url=http://linux121:50070/webhdfs/v1

# [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

9.集成Hive

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

# [beeswax]

hive_server_host=linux123

hive_server_port=10000

hive_conf_dir=/opt/zack/servers/hive-2.3.7/conf

10.集成MySQL

# 注意:1639行原文: ##[[mysql]]

[[[mysql]]

# [librdbms] -- [[databases]] -- [[[mysql]]];1639行=> [[mysql]];两个##要去掉!]

nice_name="My SQL DB"

name=hue

engine=mysql

host=linux123

port=3306

user=hive

password=12345678

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

11.启动测试

启动linux123:hiveserver2 &

启动hue服务:./supervisor

错误:

因为在同传把配置文件修改了,所以修改回来

# linux123找到 core-site.xml和hdfs-site.xml 重新增加配置信息

# core-site.xml

hadoop.proxyuser.root.hosts

*

hadoop.proxyuser.root.groups

*

hadoop.proxyuser.hadoop.hosts

*

hadoop.proxyuser.hadoop.groups

*

# 进行同传到linux121和linux122中

scp core-site.xml root@linux121:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

scp core-site.xml root@linux122:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

# hdfs-site.xml

dfs.webhdfs.enabled

true

# 进行同传到linux121和linux122中

scp hdfs-site.xml root@linux121:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

scp hdfs-site.xml root@linux122:/opt/zack/servers/hadoop-2.9.2/etc/hadoop/

# 重启

reboot

# 重新启动hdfs和yarn

linux121:start-dfs.sh

linux123:start-yran.sh

cd /opt/zack/servers/hue/build/env/bin/

启动linux123:hiveserver2 &

启动hue服务:./supervisor