avatar

目录
Hue-Hadoop UI系统

HUE简介

HUE=Hadoop User Experience(Hadoop用户体验),直白来说就一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用HUE我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。

官网网站:http://gethue.com/

HUE安装

文档:http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.16.1/

软件环境

apache-maven-3.3.9-bin.tar.gz

apache-ant-1.8.1-bin.tar.gz

安装Maven和Ant

shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 解压 maven 和 ant
tar -zxvf /media/psf/centos_share/apache-maven-3.3.9-bin.tar.gz
tar -zxvf /media/psf/centos_share/apache-ant-1.8.1-bin.tar.gz

# 配置环境变量
export MAVEN_HOME=/home/machine/apps/maven-3.3.9
export PATH=$MAVEN_HOME/bin:$PATH

export ANT_HOME=/home/machine/apps/ant-1.8.1
export PATH=$ANT_HOME/bin:$PATH

# 加载配置文件
source ~/.bash_profile

# 最后检查安装执行
mvn -version
ant -v

安装HUE所需要的依赖包

shell
1
2
3
4
5
6
7
yum install asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libtidy libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-devel gmp-devel -y

安装mysql-devel出现冲突,可能和我之前安装mysql的过程有关系,于是按照提示卸载了如下
sudo yum -y remove mysql-community-common-5.7.27-1.el7.x86_64
sudo yum -y remove mysql-community-libs-5.7.27-1.el7.x86_64

然后重新执行以上依赖安装,成功了

解压安装Hue的tar包,编译

shell
1
2
3
tar -xvf /media/psf/centos_share/hue-3.9.0-cdh5.16.1.tar.gz 
cd hue-3.9.0-cdh5.16.1
make apps

修改编写配置Hue.ini文件

shell
1
2
3
4
5
# key是官网给的
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o # 21行
http_host=mxxcentos7 # 28行
http_port=8888 # 29行
time_zone=Asia/Shanghai # 45行

启动

shell
1
2
3
4
5
6
7
./build/env/bin/supervisor

# http://mxxcentos7:8888/

# http://mxxcentos7:8888/about/ 整合页面报错,因为还没有集成其他框架

账号:hadoop 123456

关于

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
hue安装好了,但是Mysql挂了,因为刚刚解决冲突的时候卸载了...
我在docker里安了一个mysql...

信息如下:
mxxcentos7
3306
root
123456

docker安装mysql
https://www.runoob.com/docker/docker-install-mysql.html

# 运行容器 root 123456
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

docker查看所有容器(包括不运行的)
docker ps -a

# 停止容器
docker stop mysql-test
# 开启容器
docker start mysql-test (上次的数据还在的)
# 删除容器
docker rm mysql-test (彻底没了)

HUE与其他框架的集成

HUE与Mysql

配置hue.ini

shell
1
2
3
4
5
6
7
[[[mysql]]]
nice_name=db_mysql
engine=mysql
host=mxxcentos7
port=3306
user=root
password=123456

重启hue测试

shell
1
2
3
4
5
6
7
8
9
10
11
# 启动后即可测试是否成功连接Mysql服务,并且测试是否可以看到数据
./build/env/bin/supervisor

还是遇到老问题:libmysqlclient.so.18
Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory
参考我的blog【CM的安装】测试hue报错解决办法

cp /media/psf/dongzhi/Linux_Pack/mysql5.7/mysql_lib/* /usr/lib64/

# 再试。就可以查到mysql数据了
http://mxxcentos7:8888/hue/editor/?type=mysql

所以hue就是个可视化的集成管理工具。

HUE与HDFS

配置HDFS

hdfs-site.xml

xml
1
2
3
4
5
<!-- 支持Hue -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

core-site.xml

xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!-- 设置代理用户:允许被machine代理的ip和用户组 --> 
<property>
<name>hadoop.proxyuser.machine.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.machine.groups</name>
<value>*</value>
</property>

<!-- hue代理 -->
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>

<!-- httpfs代理
如果你的Hadoop配置了高可用,则必须通过httpfs来访问,需要添加如下属性,反则则不必须。(如果HUE服务与Hadoop服务不在同一节点,则必须配置)-->
<property>
<name>hadoop.proxyuser.httpfs.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.httpfs.groups</name>
<value>*</value>
</property>

httpfs-site.xml

xml
1
2
3
4
5
6
7
8
9
<!-- 主要用于HUE服务与Hadoop服务不在同一台节点上所必须的配置 -->
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>

启动httpfs服务

shell
1
2
3
4
# 先启动hdfs
start-dfs.sh
# http要使用该协议访问HDFS(在namenide节点启动,不需要在所有hadoop集群)
httpfs.sh start

配置hue.ini文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[[hdfs_clusters]]
[[[default]]]

## HDFS服务器地址
fs_defaultfs=hdfs://mxxcentos7:9000
# fs_defaultfs=hdfs://mycluster

# NameNode logical name.
# 如果开启了高可用,需要配置如下
## logical_name=mycluster


# Use WebHdfs/HttpFs as the communication mechanism.
# Domain should be the NameNode or HttpFs host.
# Default port is 14000 for HttpFs.
## webhdfs_url=http://localhost:50070/webhdfs/v1
##向HDFS发送命令的请求地址
webhdfs_url=http://mxxcentos7:14000/webhdfs/v1
# Change this if your HDFS cluster is Kerberos-secured
## security_enabled=false
# Default umask for file and directory creation, specified in an octal value.
## umask=022
# Directory of the Hadoop configuration
## hadoop_conf_dir=$HADOOP_CONF_DIR when set or '/etc/hadoop/conf'

#HADOOP的一些配置
hadoop_conf_dir=/home/machine/apps/hadoop-2.6.0-cdh5.16.1/etc/hadoop
hadoop_hdfs_home=/home/machine/apps/hadoop-2.6.0-cdh5.16.1
hadoop_bin=/home/machine/apps/hadoop-2.6.0-cdh5.16.1/bin

测试

shell
1
2
3
build/env/bin/supervisor

# 然后也可以对HDFS进行界面操作了

HUE与YARN

配置hue.ini

1
2
3
4
5
6
7
8
9
10
11
12
13
[[yarn_clusters]]
[[[default]]]
#yarn服务的配置
resourcemanager_host=mxxcentos7
resourcemanager_port=8032
#是否将作业提交到此群集,并监控作业执行情况
submit_to=True
#logical_name=cluster-yarn1(如果开高可用的话)
#配置yarn资源管理的访问入口
resourcemanager_api_url=http://mxxcentos7:8088
proxy_api_url=http://mxxcentos7:8088
#历史服务器管理的入口,查看作业的历史运行情况
history_server_api_url=http://mxxcentos7:19888

测试

shell
1
2
3
4
5
build/env/bin/supervisor
http://mxxcentos7:8888/hue/jobbrowser/#!jobs

# 测一下
yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.16.1.jar wordcount /wordcount.txt /output_1115

HUE与Hive

TODO

HUE与Zookeeper

TODO

HUE与HBase

TODO

HUE与Oozie

TODO

文章作者: Machine
文章链接: https://machine4869.gitee.io/2019/11/15/20191115135655400/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 哑舍
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论