本文档介绍Hadoop hdfs系统的一些经常使用命令。html
操做hdfs系统能够使用hadoop fs 也能够使用 hdfs dfs ,二者效果同样。(hadoop dfs命令已再也不建议使用)shell
参考: http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.htmlapache
使用方法: hadoop fs -ls [uri形式目录]安全
示例: hadoop fs –ls / 显示根目录下的全部文件和目录数据结构
显示目录下的全部文件能够加 -R 选项oop
示例: hadoop fs -ls -R /spa
使用方法:hadoop fs -cat URI [URI …]htm
示例: hadoop fs -cat /in/test2.txt递归
使用方法:hadoop fs -mkdir [uri形式目录] hadoop
示例: hadoop fs –mkdir /test
建立多级目录 加上 –p
示例: hadoop fs –mkdir -p /a/b/c
使用方法:hadoop fs -rm [文件路径] 删除文件夹加上 -r
示例: hadoop fs -rm /test1.txt
删除文件夹加上 -r,
示例:hadoop fs -rm -r /test
将文件复制到hdfs系统中,也能够是从标准输入中读取文件,此时的dst是一个文件
使用方法: hadoop fs -put <localsrc> ... <dst>
示例:
Hadoop fs -put /usr/wisedu/temp/test1.txt /
从标准输入中读取文件:hadoop fs -put -/in/myword
使用方法:hadoopfs -cp URI [URI …] <dest>
将文件从源路径复制到目标路径。这个命令容许有多个源路径,此时目标路径必须是一个目录。
示例:
hadoop fs -cp /in/myword/word
使用方法:hadoop fs-copyFromLocal <localsrc> URI
除了限定源路径是一个本地文件外,和put命令类似
使用方法:hadoop fs -get[-ignorecrc] [-crc] <src> <localdst>
复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。
示例:hadoop fs -get/word /usr/wisedu/temp/word.txt
使用方法:hadoop fs-copyToLocal [-ignorecrc] [-crc] URI <localdst>
除了限定目标路径是一个本地文件外,和get命令相似。
示例:hadoop fs - copyToLocal/word /usr/wisedu/temp/word.txt
将文件从源路径移动到目标路径。这个命令容许有多个源路径,此时目标路径必须是一个目录。不容许在不一样的文件系统间移动文件。
使用方法:hadoop fs -mv URI [URI …] <dest>
示例:hadoop fs -mv /in/test2.txt /test2.txt
显示目录中全部文件的大小。
使用方法:hadoop fs -du URI [URI …]
示例: hadoop fs -du /
显示当前目录或者文件夹的大小可加选项 -s
示例: hadoop fs -du -s /
使用方法:hadoop fs -touchz URI [URI …]
建立一个0字节的空文件
示例:hadoop fs -touchz /empty.txt
使用方法:hadoop fs -chmod[-R] <MODE[,MODE]... | OCTALMODE> URI [URI …]
与Linux平台下chmod命令类似,改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的全部者或者超级用户。
示例:先建立一个普通用户test:sudo useradd -m test
再用wisedu用户在hdfs系统目录/a下建立hello.txt文件,此时test具备读取/a/hello.txt文件的权限,以下图:
在切换回wisedu用户修改文件的权限,让/a目录下的文件对于其余用户都不可读,命令: hadoop fs -chmod -R o-r /a 以下图所示,再切换回test用户查看/a/hello.txt文件时提示没有权限:
使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI]
改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。
示例:hadoop fs -chown -R test /a 以下图:
使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]
改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的全部者或者超级用户。
示例:hadoop fs -chgrp -R test /a 以下图:
查看文件系统的基本信息和统计信息。
示例:hdfs dfsadmin -report
enter | leave | get | wait:安全模式命令。安全模式是NameNode的一种状态,在这种状态下,NameNode不接受对名字空间的更改(只读);不复制或删除块。NameNode在启动时自动进入安全模式,当配置块的最小百分数知足最小副本数的条件时,会自动离开安全模式。enter是进入,leave是离开。
示例:hdfs dfsadmin -safemode get
hdfsdfsadmin -safemode enter
从新读取hosts和exclude文件,使新的节点或须要退出集群的节点可以被NameNode从新识别。这个命令在新增节点或注销节点时用到。
示例:hdfs dfsadmin -refreshNodes
终结HDFS的升级操做。DataNode删除前一个版本的工做目录,以后NameNode也这样作。
status| details | force:请求当前系统的升级状态 | 升级状态的细节| 强制升级操做
保存NameNode的主要数据结构到hadoop.log.dir属性指定的目录下的<filename>文件中。
为每一个目录<dirname>设定配额<quota>。目录配额是一个长整形整数,强制设定目录树下的名字个数。
为每一个目录<dirname>清除配额设定。
显示帮助信息