日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/1/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDFS restful API:关于WebHDFS与HttpFS的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

兩者都是基于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

HttpFS

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

" 正確的格式應該如下所示"

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

特別注意:

請將上面的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

總結

以上是生活随笔為你收集整理的HDFS restful API:关于WebHDFS与HttpFS的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。