hadoop学习笔记-HDFS的REST接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop学习笔记-HDFS的REST接口相关的知识,希望对你有一定的参考价值。
在学习HDFS的过程中,重点关注了HDFS的REST访问接口。以前对REST的认识非常笼统,这次通过对HDFS的REST接口进行实际操作,形成很直观的认识。
1? 写文件操作
写文件操作分为两个命令,第一个命令先产生一个重定向(TEMPORARY_REDIRECT)响应报文,响应报文中的Location字段即为重定向的目标地址,这个目标地址指向的就是分配的datanode,用以存储后面写入的内容。第二个命令的URL写的就是第一个命令重定向的目标地址。(注意:在路径前面需要加“/webhdfs/v1/”)
[email protected]:~/software/hadoop-2.8.0$ curl -i -X PUT "http://localhost:50070/webhdfs/v1/user/yanghao/LICENSE.txt?op=CREATE&user.name=yanghao"HTTP/1.1 307 TEMPORARY_REDIRECT
Cache-Control: no-cache
Expires: Sun, 07 May 2017 10:18:42 GMT
Date: Sun, 07 May 2017 10:18:42 GMT
Pragma: no-cache
Expires: Sun, 07 May 2017 10:18:42 GMT
Date: Sun, 07 May 2017 10:18:42 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: hadoop.auth="u=yanghao&p=yanghao&t=simple&e=1494188322758&s=nlk+q58rkaa2kR3hDByG0P7HIgY="; Path=/; HttpOnly
Location: http://yanghao-ubuntu:50075/webhdfs/v1/user/yanghao/LICENSE.txt?op=CREATE&user.name=yanghao&namenoderpcaddress=localhost:9000&createflag=&createparent=true&overwrite=false
Content-Type: application/octet-stream
Content-Length: 0
Server: Jetty(6.1.26)
[email protected]:~/software/hadoop-2.8.0$ curl -i -X PUT -T LICENSE.txt "http://yanghao-ubuntu:50075/webhdfs/v1/user/yanghao/LICENSE.txt?op=CREATE&user.name=yanghao&namenoderpcaddress=localhost:9000&createflag=&createparent=true&overwrite=false"
HTTP/1.1 100 Continue
HTTP/1.1 201 Created
Location: hdfs://localhost:9000/user/yanghao/LICENSE.txt
Content-Length: 0
Connection: close
2 读文件操作
读文件命令需要使用如下OPEN命令,就会把文件内容打印出来。
[email protected]:~/software/hadoop-2.8.0$ curl -i -L "http://localhost:50070/webhdfs/v1/user/yanghao/LICENSE.txt?op=OPEN"
对REST的理解
REST是一种设计风格,设计对外开放接口的风格。对应到具体应用中,URI定义了资源的标识,对于URI指向的资源,可以通过PUT,GET等操作进行读写访问,信息的表述采用html/xml/JSON等。
以上是关于hadoop学习笔记-HDFS的REST接口的主要内容,如果未能解决你的问题,请参考以下文章