WebHDFS观念是基于HTTP操作,比如GET、PUT、POST和DELETE。像OPEN、GETFILESTATUS、LISTSTATUS的操作是使用HTTP GET,其它的像CREAT、MKDIRS、RENAME、SETPERMISSION是依赖于HTTP PUT类型。 APPEND操作时基于HTTP POST类型,然而,DELETE是使用HTTP DELETE。
在配置开源日志系统fluentd过程中,fluentd就是利用webHDFS和HDFS进行通信,配置好久没有通,最后发现hadoop 0.20.2 不支持webHDFS!所以本文中的hadoop版本是:hadoop-1.2.1
配置webHDFS服务(针对hadoop 1.2.1版本),很简单,就一个文件:
1
2
3
4
5
6
7
8
9
10
<code><</code><code>property</code><code>></code>
<code><name>dfs.webhdfs.enabled<</code><code>/</code><code>name></code>
<code><value>true<</code><code>/</code><code>value></code>
<code><</code><code>/</code><code>property</code><code>></code>
<code><name>dfs.support.broken.append<</code><code>/</code><code>name></code>
<a href="http://s3.51cto.com/wyfs02/M01/54/4D/wKioL1R-r0zT7PIcAAJKc6n56Kw085.jpg" target="_blank"></a>
然后重启hadoop服务:
stop-all.sh 然后 start-all.sh
查看namenode服务器中的日志文件,发现如下行就代表webHDFS启动了:
<a href="http://s3.51cto.com/wyfs02/M02/54/4F/wKiom1R-sy_BWnmcAAi9duDb3LM985.jpg" target="_blank"></a>
现在我们来测试web是否能够通信了:
<a href="http://s3.51cto.com/wyfs02/M01/54/4F/wKiom1R-s5WgMJ2QAAHU3JU2f-M697.jpg" target="_blank"></a>
相关操作命令可以参考官方文档:
http://hadoop.apache.org/docs/r1.0.4/webhdfs.html
本文转自 shine_forever 51CTO博客,原文链接:http://blog.51cto.com/shineforever/1585942