当前位置:   article > 正文

HDFS restful API:关于WebHDFS与HttpFS的区别_httpfs和webhdfs

httpfs和webhdfs

简介

两者都是基于REST的HDFS API,使得一个集群外的host可以不用安装HADOOP和JAVA环境就可以对集群内的HADOOP进行访问,并且client不受语言的限制。
WebHDFS是HDFS内置的、默认开启的一个服务,而HttpFS是HDFS一个独立的服务,若使用需要手动安装(CDH中安装HDFS时将HttpFS勾选上即可)。
WebHDFS是HortonWorks开发的,然后捐给了Apache;而HttpFS是Cloudera开发的,也捐给了Apache。

两者主要差别

差别介绍
虽然两者都是HDFS的REST API,但稍有差异,见官网差异介绍和Stack Overflow–WebHDFS vs HttpFS:

WebHDFS vs HttpFs Major difference between WebHDFS and HttpFs: WebHDFS needs access to all nodes of the cluster and when some data is read it is transmitted from that node directly, whereas in HttpFs, a singe node will act similar to a “gateway” and will be a single point of data transfer to the client node. So, HttpFs could be choked during a large file transfer but the good thing is that we are minimizing the footprint required to access HDFS.

意为当client请求某文件时,WebHDFS会将其重定向到该资源所在的datanode,而HttpFs相等于一个“网关”,所有的数据先传输到该httpfs server,再由该httpfs server传输到client。

以使用WebHDFS打开某一文件为例,见官方文档—WebHDFS–Open_and_Read_a_File,
由于HttpFS会首先将数据传输到lyhadoop5.haohandata.com(HttpFS Server),再由该Server传输到Client,故当数据量比较大或并发访问次数比较多时,HttpFS Server将会成为数据传输的瓶颈,出现传输失败的情况。

命令行访问示例

WebHDFS

curl -i -L http://lyhadoop4.com:50070/webhdfs/v1/user/hdfs/test_hadoop/data-256M-alone?op=OPEN
  • 1

HttpFS

curl -i -L http://lyhadoop5.com:14000/webhdfs/v1/user/hdfs/test_hadoop/data-256M-alone?op=OPEN&user.name=hdfs
  • 1

" 正确的格式应该如下所示"

curl -i -L http://lyhadoop5.com:14000/webhdfs/v1/user/hdfs/test_hadoop/data-256M-alone\?op\=OPEN\&user.name\=hdfs
  • 1

特别注意:

请将上面的lyhadoop4.com改为集群namenode的host,lyhadoop5.com改为HttpFS Server的host。
使用WebHDFS访问文件时,由于包含资源的重定向(待添加),故进行压力测试时,特别注意针对“重定向的处理”。JMeter勾选相应参数即可,但Tsung还没找到相应参数。
对HttpFS进行压力测试时,响应时间相当于下载文件的时间,与命令curl -i并不同,该命令相当于查看文件。比如,大小为256M的文件,进行压测的响应时间为27s,但使用命令curl -i的执行时间大约为4min。

选择

一般来说两个都可以使用,而且差别不大。但若集群配置了HA,那就最好使用HttpFS了,因为namenode的地址一直在变化,我们是不可能也随时修改脚本里的请求地址的,故在这种情况下直接写HttpFS Server的地址好了。

参考链接:https://blog.csdn.net/u012948976/article/details/51591089

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/400913
推荐阅读
相关标签
  

闽ICP备14008679号