使用方法,具体的操作可以查看上面Apache官网的详细说明,一般使用的方式如下:
hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
这里我们主要查看hadoop文件shell的使用方法:
hdfs文件shell
这里的使用hdfs的shell命令的格式:
hdfs dfs -command file1 file2 ...
command的取值如下:
appendToFile
追加本地的一个或者多个文件到hdfs文件中,使用方法如下:hadoop fs -appendToFile localfile /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
hadoop fs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
也可以由标准输入(stdin)添加:
hadoop fs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile
cat
查看文件内容,和Linux下的使用方法类似:hadoop fs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
hadoop fs -cat file:///file3 /user/hadoop/file4
checksum
检查文件的校验和:hadoop fs -checksum hdfs://nn1.example.com/file1
hadoop fs -checksum file:///etc/hosts
chgrp、chmod、chown
这三个命令的使用方法与Linux完全类似,以chmod举例:
hadoop fs -chmod -R 777 /user/hadoop/test
copyFromLocal
将文件从本地拷贝到hdfshadoop fs -copyFromLocal <localsrc> URI
copyToLocal
从HDFS拷贝文件到本地hadoop fs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
lsr
递归ls hadoop fs -lsr <args>
moveFromLocal、moveToLocal
这两个命令和前面的copy类似,不同的一点是操作完之后,文件删除掉了。put
上传本地文件到hdfs,和第一个命令类似:
hadoop fs -put <localsrc> ... <dst>
使用例子:
hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile #从标准输入(stdin)读入数据
rmdir
删除目录。
hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]
添加
--ignore-fail-on-non-empty选项,当使用通配符且目录不为空,仍然可以执行。
rmr
递归删除目录文件等价于hadoop fs -rm -r hadoop fs -rmr [-skipTrash] URI [URI ...]