通过百度网盘分享的文件: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/ 增加配置
<!-- HUE -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
在 core-site.xml 中增加配置
# 进入cd /opt/zack/servers/hadoop-2.9.2/etc/hadoop/ 增加配置
<!-- 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 文件,加入配置
# 进入cd /opt/zack/servers/hadoop-2.9.2/etc/hadoop/ 增加配置
<!-- HUE -->
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>
备注:修改完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
<!-- HiveServer2 连不上10000;hadoop为安装用户 -->
<!-- root用户可以代理所有主机上的所有用户 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
# 进行同传到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
<!-- HiveServer2 连不上10000;启用 webhdfs 服务 -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
# 进行同传到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