每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。
放弃不难,但坚持很酷~
HUE版本:3.12.0
HDP版本:2.6.4
前言
通过浏览器访问ip:8888登陆HUE界面,首次登陆会提示你创建用户,这里使用账号/密码:hue/hue登陆。
一、WebHDFS与HttpFS
在配置HUE访问NameNode HA之前,我们先来了解一下WebHDFS与HttpFS:
-
两者都是基于REST的HDFS API,使得一个集群外的host可以不用安装HADOOP和JAVA环境就可以对集群内的HADOOP进行访问,并且client不受语言的限制。
-
WebHDFS是HDFS内置的、默认开启的一个服务,而HttpFS是HDFS一个独立的服务,若使用需要手动安装(CDH中安装HDFS时将HttpFS勾选上即可;HDP中需要用户手动安装)。
-
WebHDFS是HortonWorks开发的,然后捐给了Apache;而HttpFS是Cloudera开发的,也捐给了Apache。
两者主要差别
WebHDFS是HDFS内置的组件,已经运行于NameNode和DataNode中。对HDFS文件的读写,将会重定向到文件所在的DataNode,并且会完全利用HDFS的带宽。HttpFS是独立于HDFS的一个服务。对HDFS文件的读写,将会通过它进行中转,它能限制带宽占用。
如果访问大文件,HttpFS服务本身有可能变成瓶颈。如果你想限制客户端流量,以防其过度占用集群的带宽时,那可以考虑HttpFS。
总结
WebHDFS与HttpFS各有利弊,都能满足基本需要。
虽然两者都支持HTTP REST API,但是Hue只能配置其中一种方式;对于HDFS HA的部署模式,只能使用HttpFS。因为无论NameNode所在ip如何变化,HUE通过HttpFS服务都能够访问到HDFS。
二、安装HttpFS
HDP默认是没有安装HttpFs的,所以这里需要手动安装:
yum install -y hadoop-httpfs
开启HttpFS:
service hadoop-httpfs start
关闭HttpFS:
service hadoop-httpfs stop
查看HttpFS状态:
service hadoop-httpfs status
HttpFS默认端口为14000,可使用netstat命令查看:
netstat -ntlp | grep 14000
三、修改配置文件
1. 修改HDFS配置
在ambari页面上,打开HDFS的"自定义core-site",点击添加属性,输入
hadoop.proxyuser.httpfs.hosts=*
hadoop.proxyuser.httpfs.groups=*
如图所示:
2. 检查HDFS配置
确保WebHDFS保持开启状态,如下图所示:
确保自定义core-site里面有hadoop.proxyuser.hue.groups和hadoop.proxyuser.hue.hosts属性,如下图所示:
如果没有的话,就仿照上述的做法添加到自定义core-site。
3. 修改hue.ini
如上图所示,其中fs_defaultfs的值要与HDFS上的配置值一致,如下图所示:
webhdfs_url的值是HttpFS所在主机+端口号,比如:http://liuyzh1.xdata:14000/webhdfs/v1。
四、启动HUE
执行以下命令,启动HUE:
/usr/hdp/2.6.4.0-91/hue/build/env/bin/supervisor
通过浏览器访问ip:8888登陆HUE界面,首次登陆会提示你创建用户,这里使用账号/密码:hue/hue登陆。
访问我们的文件系统,如下图所示:
成功。
五、总结
-
在Hue中配置webhdfs_url使用HttpFS服务,在集群启用高可用后必须选择使用HttpFS服务。
-
无论NameNode是否处于HA状态,HUE都可使用HttpFS服务来访问HDFS。