hdfs restful API:httpfs与webhdfs的简单使用

HttpFS和WebHDFS 通过http协议操作hdfs有两个组件,httpfs和webhdfs,我一开始还以为这两个是同一个东西,其实不是。webhdfs是namenode、datanode自带的,httpfs是完全独立的一个组件。 webhdfs上传文件等操作需要通过某个datanode进行,而不是直接通过namen

HttpFS和WebHDFS
通过http协议操作hdfs有两个组件,httpfs和webhdfs,我一开始还以为这两个是同一个东西,其实不是。webhdfs是namenode、datanode自带的,httpfs是完全独立的一个组件。

webhdfs上传文件等操作需要通过某个datanode进行,而不是直接通过namenode上传,客户端有可能访问多个机器。而httpfs,所有的操作都通过httpfs进行。

webhdfs和httpfs的使用方法基本是一样的,只有很小很小的差别。

HttpFS一些常用的操作
查看home目录
curl “http://osg11-vm06:8014/webhdfs/v1?op=GETHOMEDIRECTORY&user.name=kpi”

创建目录
curl -i -X PUT “http://osg11-vm06:8014/webhdfs/v1/tmp/chenyk?op=MKDIRS&user.name=kpi”

curl -i -X PUT “http://osg11-vm06:8014/webhdfs/v1/tmp/chenyk/a/b/c?op=MKDIRS&user.name=kpi”

删除目录,recursive参数删除非空目录
curl -i -X DELETE “http://osg11-vm06:8014/webhdfs/v1/tmp/chenyk/a?op=DELETE&recursive=true&user.name=kpi”

创建文件(httpfs执行这一步没意义,上传也是通过httpfs上传)
curl -i -X PUT “http://osg11-vm06:8014/webhdfs/v1/tmp/chenyk/test?op=CREATE&user.name=kpi”

创建文件和上传
这里需要加入header,否则提示出错,可能是个bug https://issues.cloudera.org/browse/HUE-679

curl -i -X PUT -T /tmp/test.txt “http://osg11-vm06:8014/webhdfs/v1/tmp/chenyk/test?op=CREATE&data=true&user.name=kpi” -H “Content-Type:application/octet-stream”

追加文件
curl -i -X POST -T /tmp/test.txt “http://osg11-vm06:8014/webhdfs/v1/tmp/chenyk/test?op=APPEND&data=true&user.name=kpi” -H “Content-Type:application/octet-stream”

打开文件并读取
curl -i -L “http://osg11-vm06:8014/webhdfs/v1/tmp/chenyk/test?op=OPEN&user.name=kpi”

参考
http://hadoop.apache.org/docs/r1.0.4/webhdfs.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值