hadoop叢集Restful介面的使用
上次瞭解了yarn的REST的API之後,進一步一想,yarn有相應的REST介面,那Hadoop呢?是不是也應該又相應的REST介面進行檢視檔案系統以及對檔案系統一些操作呢?一查,果然是有的。
官方文件地址:WebHDFS REST API
操作目錄:
- HTTP GET
- OPEN (see FileSystem.open)
- GETFILESTATUS (see FileSystem.getFileStatus)
- LISTSTATUS (see FileSystem.listStatus)
- GETCONTENTSUMMARY (see
- GETFILECHECKSUM (see FileSystem.getFileChecksum)
- GETHOMEDIRECTORY (see FileSystem.getHomeDirectory)
- GETDELEGATIONTOKEN (see FileSystem.getDelegationToken)
- GETDELEGATIONTOKENS (see FileSystem.getDelegationTokens)
- GETXATTRS (see FileSystem.getXAttr)
- GETXATTRS (see FileSystem.getXAttrs)
- GETXATTRS (see FileSystem.getXAttrs)
- LISTXATTRS (see FileSystem.listXAttrs)
- CHECKACCESS (see FileSystem.access)
- HTTP PUT
- CREATE (see FileSystem.create)
- MKDIRS (see FileSystem.mkdirs)
- CREATESYMLINK (see FileContext.createSymlink)
- RENAME (see FileSystem.rename)
- SETREPLICATION (see FileSystem.setReplication)
- SETOWNER (see FileSystem.setOwner)
- SETPERMISSION (see FileSystem.setPermission)
- SETTIMES (see FileSystem.setTimes)
- RENEWDELEGATIONTOKEN (see FileSystem.renewDelegationToken)
- CANCELDELEGATIONTOKEN (see FileSystem.cancelDelegationToken)
- CREATESNAPSHOT (see FileSystem.createSnapshot)
- RENAMESNAPSHOT (see FileSystem.renameSnapshot)
- SETXATTR (see FileSystem.setXAttr)
- REMOVEXATTR (see FileSystem.removeXAttr)
- HTTP POST
- APPEND (see FileSystem.append)
- CONCAT (see FileSystem.concat)
- HTTP DELETE
- DELETE (see FileSystem.delete)
- DELETESNAPSHOT (see FileSystem.deleteSnapshot)
開啟和讀一個檔案:提交一個HTTP GET請求
curl -i -L "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=OPEN[&offset=<LONG>][&length=<LONG>][&buffersize=<INT>]"
postman示例:
建立一個目錄:提交一個HTTP PUT請求
curl -i -X PUT "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=MKDIRS[&permission=<OCTAL>]"
postman示例:
重新命名一個檔案或目錄:提交一個HTTP PUT請求
curl -i -X PUT "<HOST>:<PORT>/webhdfs/v1/<PATH>?op=RENAME&destination=<PATH>"
postman示例:
刪除一個檔案或目錄:提交一個HTTP DELETE請求
curl -i -X DELETE "http://<host>:<port>/webhdfs/v1/<path>?op=DELETE[&recursive=<true|false>]"
postman示例:
檔案或者目錄狀態:提交一個HTTP GET請求
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETFILESTATUS"
目錄列舉:提價一個HTTP GET請求
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=LISTSTATUS"
postman示例:
獲取目錄的內容摘要:提價一個HTTP GET請求
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETCONTENTSUMMARY"
獲取目錄的上下文環境彙總資訊
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETCONTENTSUMMARY"
獲取Check Sum File
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETFILECHECKSUM"
獲取Home 目錄
curl -i "http://<HOST>:<PORT>/webhdfs/v1/?op=GETHOMEDIRECTORY"
設定許可權
curl -i -X PUT "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=SETPERMISSION [&permission=<OCTAL>]"
設定所有者
curl -i -X PUT "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=SETOWNER [&owner=<USER>][&group=<GROUP>]"
設定備份
curl -i -X PUT "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=SETREPLICATION [&replication=<SHORT>]"
好了,就先寫這麼多吧,其他的具體還是去檢視官方指南吧。