HTTPFS: 基于HTTP操做hadoop hdfs文件系统

1、HTTPFS简介

    1:httpfs是cloudera公司提供的一个hadoop hdfs的一个http接口,经过WebHDFS REST API 能够对hdfs进行读写等访问 html

 
    2:与WebHDFS的区别是不须要客户端能够访问hadoop集群的每个节点,经过httpfs能够访问放置在防火墙后面的hadoop集群
 
    3:httpfs是一个Web应用,部署在内嵌的tomcat中
 
    用这种方式在数据共享给其余系统时,网络安全上更容易实现,使用请参考:
 

2、启动服务(针对使用cloudera manager安装了CDH4或CDH5) 

    在cm控制台,打开hdfs实例页面,添加httpfs服务,而后启动便可。 git

3、安装可参考(手工安装)

    http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_25_8.html     github

   http://blog.csdn.net/ganglia/article/details/25902873 web

4、curl操做命令示例(须要将host替换为实际部署httpfs的服务器IP)

    curl -c ~/.httpsauth "http://host:14000/webhdfs/v1?op=gethomedirectory&user.name=hdfs"

    curl -b ~/.httpsauth "http://host:14000/webhdfs/v1?op=gethomedirectory"

    curl -b ~/.httpsauth "http://host:14000/webhdfs/v1/test/data1.txt?op=OPEN"

    curl -b ~/.httpsauth -X DELETE "http://host:14000/webhdfs/v1/test/data1.txt?op=DELETE"

    建立和追加都是分为两步,测试都没有成功(注意,必定要追加--header参数,不然建立会失败)
    curl -b ~/.httpsauth -i -X PUT "http://172.168.63.221:14000/webhdfs/v1/test2?op=CREATE&buffersize=1000"
    curl -b ~/.httpsauth -i -X PUT -T data2.txt --header "Content-Type: application/octet-stream" "http://172.168.63.221:14000/webhdfs/v1/test2/data.txt?op=CREATE&user.name=hdfs&buffersize=1000&data=true" apache

5、基于JAVA操做httpfs的开源代码

    开源项目地址,有什么问题能够直接反馈给我 tomcat

    https://github.com/gitriver/httpfs-client 安全

   说明 服务器

   1  包com.catt.httpfs.client.httpclient是采用commons-httpclient.jar,
    基于http请求实现的,没有使用到hadoop相关的jar
    2  包org.apache.hadoop.fs.http.client根据httpfs项目的源代码,
    根据须要修改了一下,使用了hadoop相关的jar 网络

相关文章
相关标签/搜索