一、命令的基本格式
hadoop fs -cmd < args >
二、ls命令
1.列出hdfs文件系统根目录下的目录和文件:
hadoop fs -ls /
2.列出hdfs文件系统所有的目录和文件:
hadoop fs -ls -R /
三、mkdir命令
1.创建文件目录:
命令格式:
hadoop fs -mkdir < hdfs path>
示例:
hadoop fs -mkdir /test
特别提示:
只能一级一级的建目录,父目录不存在的话使用这个命令会报错。
2.创建文件目录:
命令格式:
hadoop fs -mkdir -p < hdfs path>
示例:
hadoop fs -mkdir -p /hello/world
特别提示:
所创建的目录如果父目录不存在就创建该父目录。
四、put命令
上传文件或文件目录:
命令格式:
hadoop fs -put < local file or dir >...< hdfs dir >
示例:
hadoop fs -put hadoop.txt /test
hadoop fs -put hadoop.txt /
特别提示:
hdfs file的父目录一定要存在,否则命令不会执行(比如上面示例中只会创建/test文件目录)。
五、rm命令
1.删除文件:
命令格式:
hadoop fs -rm < hdfs file > ...
示例:
hadoop fs -rm /hadoop.txt
2.删除文件目录:
命令格式:
hadoop fs -rm -r < hdfs dir>...
示例:
hadoop fs -rm -r /hello
六、get命令
1.将文件会复制到本地:
命令格式:
hadoop fs -get < hdfs file > < local file or dir>
示例:
hadoop fs -get /test/hadoop.txt hadoop_local.txt
特别提示:
local file不能和 hdfs file名字不能相同,否则会提示文件已存在,只能将没有重名的文件会复制到本地。
2.拷贝多个文件或目录到本地:
命令格式:
hadoop fs -get < hdfs file or dir > ... < local dir >
示例:
hadoop fs -get /test /home/miracle/workspace/hadoop/local
hadoop fs -get /test/hadoop.txt /home/miracle/workspace/hadoop/local
特别提示:
如果用户不是root,local 路径要为用户文件夹下的路径,否则会出现权限问题。
七、archive命令
压缩文件:
命令格式:
hadoop archive -archiveName name.har -p < hdfs parent dir > < src >* < hdfs dst >
示例:
hadoop archive -archiveName hadoop.har -p /test hadoop.txt hadoop_local.txt /test
特别提示:
命令中参数name:压缩文件名,自己任意取;< hdfs parent dir > :压缩文件所在的父目录;< src >:要压缩的文件名;< hdfs dst >:压缩文件存放路径。
har文件不能进行二次压缩。如果想给.har加文件,只能找到原来的文件,重新创建一个。har文件中原来文件的数据并没有变化,har文件真正的作用是减少NameNode和DataNode过多的空间浪费。
八、dfsadmin命令
1.通过dfsadmin管理HDFS,显示帮助命令:
hdfs dfsadmin -help
2.显示文件系统的基本数据:
hdfs dfsadmin -report
3.进入管理模式:
命令格式:
hdfs dfsadmin -safemode < enter | leave | get | wait >
示例:
hdfs dfsadmin -safemode enter
特别提示:
enter:进入安全模式;leave:离开安全模式;get:获知是否开启安全模式; wait:等待离开安全模式。
九、balancer命令
** 手动启动内部的均衡:**
hdfs balancer
特别提示:
如果管理员发现某些DataNode保存数据过多,某些DataNode保存数据相对较少,可以使用上述命令手动启动内部的均衡过程。
十、参考文章
1.hadoop HDFS常用文件操作命令(https://segmentfault.com/a/1190000002672666)