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接口的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop学习笔记---HDFS

Hadoop学习笔记HDFS高可用集群

Hadoop学习笔记HDFS单机版Windows安装

学习笔记Hadoop—— Hadoop基础操作—— HDFS常用Shell操作

hadoop学习笔记:Java HDFS API

Hadoop学习笔记:MapReduce框架详解