Hadoop 第六课 WebHDFS REST API

说明:WebHDFS观念是基于HTTP操作,比如GET、PUT、POST和DELETE。像OPEN、GETFILESTATUS、LISTSTATUS的操作是使用HTTP GET,其它的像CREAT、MKDIRS、RENAME、SETPERMISSION是依赖于HTTP PUT类型。APPEND操作时基于HTTP POST类型,然而,DELETE是使用HTTP DELETE。

1$ curl -V 检查是否安装  没有的话 sudo apt-get install curl

2 在hdfs-site.xml 配置

          dfs.webhdfs.enabled

           true


dfs.permissions
false

3执行Webhdfs命令

3.1 命令形式
$curl [-i /-X/-u/-T] [PUT] "http://:/webhdfs/v1/?[user.name=&op=[&permission=]....."
3.2 对文件和路径的操作
创建并写一个文件
 curl -i -X PUT "http://localhost:50070/webhdfs/v1/?op=CREATE
 [&overwrite=][&blocksize=][&replication=]
 [&permission=][&buffersize=]“
 curl -i -X PUT -T "http://:/webhdfs/v1/?
 op=CREATE...“
 注意这个地方填入的是DataNode的信息

打开并读取一个文件
 curl -i -L "http://:/webhdfs/v1/?op=OPEN
 [&offset=][&length=][&buffersize=]"

创建一个目录
 curl -i -X PUT "http://:/?op=MKDIRS[&permission=]"

重名命文件、文件夹
 curl -i -X PUT ":/webhdfs/v1/?op=RENAME&destination="

删除文件/文件夹
 curl -i -X DELETE "http://:/webhdfs/v1/?op=DELETE [&recursive=]"

文件/ 文件夹的状态信息
 curl -i “:/webhdfs/v1/?op=GETFILESTATUS"

目录列表
 curl -i "http://:/webhdfs/v1/?op=LISTSTATUS"

3.3 对文件系统的操作

获取目录的上下文环境汇总信息
 curl -i "http://:/webhdfs/v1/?op=GETCONTENTSUMMARY"

获取Check Sum File
 curl -i "http://:/webhdfs/v1/?op=GETFILECHECKSUM"

获取Home 目录
 curl -i "http://:/webhdfs/v1/?op=GETHOMEDIRECTORY"

设置权限
 curl -i -X PUT "http://:/webhdfs/v1/?op=SETPERMISSION [&permission=]"

设置所有者
 curl -i -X PUT "http://:/webhdfs/v1/?op=SETOWNER [&owner=][&group=]"

设置备份
 curl -i -X PUT "http://:/webhdfs/v1/?op=SETREPLICATION [&replication=]"


3.4  WebHDFS提供的操作列表功能清单:

HTTP GET
• OPEN (see FileSystem.open)
• GETFILESTATUS (see FileSystem.getFileStatus)
• LISTSTATUS (see FileSystem.listStatus)
• GETCONTENTSUMMARY (see FileSystem.getContentSummary)
• GETFILECHECKSUM (see FileSystem.getFileChecksum)
• GETHOMEDIRECTORY (see FileSystem.getHomeDirectory)
• GETDELEGATIONTOKEN (see FileSystem.getDelegationToken)
• HTTP PUT
• CREATE (see FileSystem.create)
• MKDIRS (see FileSystem.mkdirs)
• RENAME (see FileSystem.rename)
• SETREPLICATION (see FileSystem.setReplication)
• SETOWNER (see FileSystem.setOwner)
• SETPERMISSION (see FileSystem.setPermission)
• SETTIMES (see FileSystem.setTimes)
• RENEWDELEGATIONTOKEN (see DistributedFileSystem.renewDelegationToken)
• CANCELDELEGATIONTOKEN (see DistributedFileSystem.cancelDelegationToken)
• HTTP POST
• APPEND (see FileSystem.append)


你可能感兴趣的:(大数据)