HUE与HDFS的集成
3.1.2、配置HDFS
修改:hdfs-site.xml
属性:dfs.webhdfs.enabled
属性值:true
解释:Enable WebHDFS (REST API) in Namenodes and Datanodes.
修改:core-site.xml
添加
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.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>
如果你的Hadoop配置了高可用,则必须通过httpfs来访问,需要添加如下属性,反则则不必须。(如果HUE服务与Hadoop服务不在同一节点,则必须配置)
<property>
<name>hadoop.proxyuser.httpfs.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.httpfs.groups</name>
<value>*</value>
</property>
区别:WebHDFS是HDFS内置的组件,已经运行于NameNode和DataNode中。对HDFS文件的读写,将会重定向到文件所在的DataNode,并且会完全利用HDFS的带宽。HttpFS是独立于HDFS的一个服务。对HDFS文件的读写,将会通过它进行中转,它能限制带宽占用。
修改:httpfs-site.xml
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>
解释:以上两个属性主要用于HUE服务与Hadoop服务不在同一台节点上所必须的配置。
提示:
- 如果没有配置NameNode的HA,HUE可以用WebHDFS来管理HDFS
- 如果配置了NameNodeHA,则HUE只可用HttpFS来管理HDFS
3.1.3、scp同步配置
//打包
$ tar cvf conf.tar.gz hadoop/
//发送
$ scp -r conf.tar.gz hadoop@192.168.56.87:/home/hadoop/apps/hadoop26/etc/
$ scp -r conf.tar.gz hadoop@192.168.56.87:/home/hadoop/apps/hadoop26/etc/
3.1.4、启动httpfs服务(一台就可以)
$ /home/hadoop/apps/hadoop26/sbin/httpfs.sh start
3.1.5、配置hue.ini文件
找到[hadoop]标签
[[hdfs_clusters]]
# HA support by using HttpFs
[[[default]]]
# Enter the filesystem uri
##HDFS服务器地址
fs_defaultfs=hdfs://192.168.56.86:8020
# 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://192.168.56.86: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/hadoop/apps/hadoop26/etc/hadoop
hadoop_hdfs_home=/home/hadoop/apps/hadoop26
hadoop_bin=/home/hadoop/apps/hadoop26/bin
3.1.6、测试
开启HUE服务:
$ build/env/bin/supervisor
打开HUE的页面,进行HDFS管理。
提示1(不修改也可以):
如果提示错误根目录应该归属于hdfs,如下图:
请修改python变量,位置如下
cd desktop/libs/hadoop/src/hadoop/fs/
vi webhdfs.py
修改其中的变量值为:
DEFAULT_HDFS_SUPERUSER = 'hadoop' #设置的hue超级用户
然后重启HUE服务即可。
提示2:
启动HUE服务时,请先kill掉之前的HUE服务,如果提示地址被占用,请使用如下命令查看占用8888端口的进程并kill掉:
$ netstat -tunlp | grep 8888