相关资料包:https://pan.baidu.com/s/1y0cmzWN9VwrXVzSKEeIG1Q?pwd=5j0o
Hue(Hadoop User Experience)是一个开源的 Apache Hadoop UI 系统,最早是由Cloudera Desktop 演化而来,由 Cloudera 贡献给开源社区,它是基于 PythonWeb 框架 Django 实现的。通过使用 Hue 可以在浏览器端的 Web 控制台上与Hadoop 集群进行交互来分析处理数据,例如操作 HDFS 上的数据,运行MapReduce Job 等等。Hue所支持的功能特性集合:
一句话总结:Hue是一个友好的界面集成框架,可以集成我们各种学习过的以及将要学习的框架,一个界面就可以做到查看以及执行所有的框架。

类似的产品还有 Apache Zeppelin。
Hue官方网站:https://gethue.com/
HUE官方用户手册:https://docs.gethue.com/
官方安装文档:https://docs.gethue.com/administrator/installation/install/
HUE下载地址:https://docs.gethue.com/releases/
到官方网站下载 hue-release-4.3.0.zip;上传至服务器,并解压缩
- yum install unzip
- unzip hue-release-4.3.0.zip
- # 需要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 python-devel sqlite-devel gmp-devel
-
- yum install -y rsync
备注:
编译 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
- # 进入 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;需要联网
在 hdfs-site.xml 中增加配置
- <property>
- <name>dfs.webhdfs.enabledname>
- <value>truevalue>
- property>
- <property>
- <name>dfs.permissions.enabledname>
- <value>falsevalue>
- property>
在 core-site.xml 中增加配置
- <property>
- <name>hadoop.proxyuser.hue.hostsname>
- <value>*value>
- property>
- <property>
- <name>hadoop.proxyuser.hue.groupsname>
- <value>*value>
- property>
- <property>
- <name>hadoop.proxyuser.hdfs.hostsname>
- <value>*value>
- property>
- <property>
- <name>hadoop.proxyuser.hdfs.groupsname>
- <value>*value>
- property>
增加 httpfs-site.xml 文件,加入配置
- <configuration>
-
- <property>
- <name>httpfs.proxyuser.hue.hostsname>
- <value>*value>
- property>
- <property>
- <name>httpfs.proxyuser.hue.groupsname>
- <value>*value>
- property>
- configuration>
备注:修改完HDFS相关配置后,需要把配置scp给集群中每台机器,重启hdfs服务。
scp 文件名 IP地址:$PWD
start-dfs.sh
- # 进入 Hue 安装目录
- cd /opt/lagou/servers/hue
-
- # 进入配置目录
- cd desktop/conf
-
- # 复制一份HUE的配置文件,并修改复制的配置文件
- cp pseudo-distributed.ini.tmpl pseudo-distributed.ini
- vi pseudo-distributed.ini
- (:set number : 显示行号,便于我们观看配置文件)
- # [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;
- # 进入hue的bin目录
- /opt/lagou/servers/hue/build/env/bin
-
- # 初始化数据,执行下面两个命令
- ./syncdb
- ./migrate
-
- # 这个时后去查询我们的数据库,发现已经生成了许多数据,这是hue创建的
- # 增加 hue 用户和用户组
- groupadd hue
- useradd -g hue hue
-
-
- # 在hue安装路径下执行
- 进入此目录build/env/bin/执行下面命令
- ./supervisor

修改参数文件 /opt/lagou/servers/hue/desktop/conf/pseudo-distributed.ini
- # 211 行。 没有安装 Solr,禁用,否则一直报错
- app_blacklist=search
-
- # [hadoop] -- [[hdfs_clusters]] -- [[[default]]]
- # 注意端口号。下面语句只要一个
- # fs_defaultfs=hdfs://linux121:8020
- fs_defaultfs=hdfs://linux121:9000
-
- webhdfs_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
集成Hive需要启动 Hiveserver2 服务,在linux123节点上启动 Hiveserver2
查询端口
lsof -i:10000
启动Hiveserver2
nohup hiveserver2 &
- # [beeswax]
- hive_server_host=linux123
- hive_server_port=10000
- hive_conf_dir=/opt/lagou/servers/hive-2.3.7/conf
- # [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 的名称
- # 停止服务
- ctrl + c
-
- # 启动服务
- ./supervisor
我这个hue环境的配置是基于我自己搭建的hive本地集群,其中hdfs、yarn、mysql、hive、Hiveserver2 我搭建在了不同的集群节点,在配置时要依据自己的实际情况来做出相应的改变。
我搭建的节点参见下方博文:
Apache Hadoop 完全分布式集群搭建_悠然予夏的博客-CSDN博客