Hadoop webHDFS设置和使用说明

2022-07-01 14:28:14 浏览数 (1)

1.配置

namenode的hdfs-site.xml是必须将dfs.webhdfs.enabled属性设置为true,否则就不能使用webhdfs的LISTSTATUS、LISTFILESTATUS等需要列出文件、文件夹状态的命令,因为这些信息都是由namenode来保存的。

在namenode和一台datanode中向/etc/hadoop/conf/hdfs-site.xml中添加属性:

<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>

2.使用说明 访问namenode的hdfs使用50070端口,访问datanode的webhdfs使用50075端口。访问文件、文件夹信息使用namenode的IP和50070端口,访问文件内容或者进行打开、上传、修改、下载等操作使用datanode的IP和50075端口。要想不区分端口,直接使用namenode的IP和端口进行所有的webhdfs操作,就需要在所有的datanode上都设置hefs-site.xml中的dfs.webhdfs.enabled为true。

3.curl操作webhdfs 创建并写一个文件  curl -i -X PUT "http://localhost:50070/webhdfs/v1/<PATH>?op=CREATE  [&overwrite=<true|false>][&blocksize=<LONG>][&replication=<SHORT>]  [&permission=<OCTAL>][&buffersize=<INT>]“  curl -i -X PUT -T <LOCAL_FILE> "http://<DATANODE>:<PORT>/webhdfs/v1/<PATH>?  op=CREATE...“  注意这个地方填入的是DataNode的信息

在一个文件内追加内容  curl -i -X POST "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=APPEND[&buffersize=<INT>]”  curl -i -X POST -T <LOCAL_FILE> "http://<DATANODE>:<PORT>/webhdfs/v1/<PATH>?  op=APPEND...“  注意该条命令获得的是DataNode的信息。

打开并读取一个文件  curl -i -L "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=OPEN  [&offset=<LONG>][&length=<LONG>][&buffersize=<INT>]“

创建一个目录  curl -i -X PUT "http://<HOST>:<PORT>/<PATH>?op=MKDIRS[&permission=<OCTAL>]“

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

删除文件/文件夹  curl -i -X DELETE "http://<host>:<port>/webhdfs/v1/<path>?op=DELETE [&recursive=<true|false>]“

文件/ 文件夹的状态信息  curl -i “http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETFILESTATUS“

目录列表  curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=LISTSTATUS”

获取目录的上下文环境汇总信息  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>]“

参考 

Hadoop 2.0详细配置教程 http://www.linuxidc.com/Linux/2014-05/101532.htm

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

0 人点赞