Hadoop配置文件修改
hdfs-site.xml
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
core-site.html
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
hadoop.proxyuser.hue.hosts和hadoop.proxyuser.hue.groups中的hue应为启动hadoop的用户名称
HUE配置文件修改
[[hdfs_clusters]] [[[default]]]
fs_defaultfs=hdfs://mycluster
webhdfs_url=http://node1:50070/webhdfs/v1
hadoop_bin=/usr/hadoop-2.5.1/bin
hadoop_conf_dir=/usr/hadoop-2.5.1/etc/hadoop
启动hdfs、重启hue
当使用hadoop的web接口时webhdfs_url配置http://node1:50070/webhdfs/v1,
当使用hadoop的httpfs服务提供的接口时,webhdfs_url配置http://node1:14000/webhdfs/v1
如果hadoop是HA模式的,则hue的webhdfs_url配置不能使用web接口http://node1:50070/webhdfs/v1,因为当node1变成standby时,hue访问hdfs会失败。所以hadoop是HA模式时必须使用httpfs服务配置hue
httpfs服务配置
配置hadoop配置文件中的httpfs-site.xml
<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>
此处的hue是因为hue的配置文件hue.ini中默认配置default_user=hue。所以hue发送的访问hdfs的rest请求的user.name参数值是hue。httpfs服务接收到后会使用hue作为代理用户,代理doas参数提供的用户名进行访问hdfs。如果httpfs-site.xml没有增加上面的配置,就会报错提示hue没有代理doas参数指定的用户的权限。即hue.ini中default_user配置的是什么用户名,在httpfs-site.xml中也要相应的替换掉上面配置中的hue字符。
启动httpfs服务:httpfs.sh start 默认端口14000