一、查看存储系统信息
hdfs dfsadmin -report [-live] [-dead] [-decommissioning]
输出文件系统的基本信息及相关数据统计
[root@master ~]# hdfs dfsadmin -report
输出文件系统中在线节点的基本信息及相关数据统计
[root@master ~]# hdfs dfsadmin -report -live
输出文件系统中失效节点的基本信息及相关数据统计
[root@master ~]# hdfs dfsadmin -report -dead
输出文件系统中停用节点的基本信息及相关数据统计
[root@master ~]# hdfs dfsadmin -report -decommissioning
二、文件操作命令
[root@master ~]# hdfs dfs //可查询hdfs的所有操作命令
(一)、HDFS目录基本操作
1、列出目录路径下的文件和目录信息
hdfs dfs -ls [-d] [-h] [-R] [
-d:将path作为一个普通文件,输出文件信息
-h:格式化输出文件及目录信息
-R:递归列出目录的内容
例:
[root@master ~]# hdfs dfs -ls /
2、创建目录
hdfs dfs -mkdir [-p]
-p:不加只能逐级创建目录,加了可以多级创建目录
[root@master ~]# hdfs dfs -mkdir -p /user/root/txtdir //创建/user/root/txtdir目录
3、上传文件到HDFS
| 命令 | 解释 |
|---|---|
| hdfs dfs -put [-f] [-p] [-l] … | 将文件从本地系统拷贝到HDFS文件系统,主要参数为本地文件路径,为上传的目标路径。 |
| hdfs dfs -copyFromLocal [-f] [-p] [-l] … | 同put |
| hdfs dfs -moveFromLocal … | 同put,但本地数据源文件在拷贝后将被删除。 |
-f:覆盖目标路径,如果存在的话
-p:保留文件原有属性及权限
-l:允许DataNode延迟持久化文件到磁盘
//在/opt目录下创建a、b、c文件 [root@master opt]# echo "I am student" >a.txt [root@master opt]# echo "I am teacher" >b.txt [root@master opt]# echo "I like Hadoop" >c.txt //并通过上传命令上传文件 [root@master opt]# hdfs dfs -put a.txt /user/root/txtdir [root@master opt]# hdfs dfs -copyFromLocal b.txt /user/root/txtdir [root@master opt]# hdfs dfs -moveFromLocal c.txt /user/root/txtdir
查看目录下文件只有a、b文件,没有c文件,那是因为c文件是用-moveFromlocal上传的,它会文件拷贝在HDFS上后把源文件删除
通过遍历查询查看目录与文件
4、查看文件内容
| 命令 | 解释 |
|---|---|
| hdfs dfs -cat [-ignoreCrc] … | 查看HDFS文件内容,主要传输指示文件路径。 |
| hdfs dfs -text [-ignoreCrc] … | 获取源文件并以文本格式输出该文件。允许的格式是zip和TextRecordInputStream以及Avro。 |
| hdfs dfs -tail [-f] | 输出HDFS文件最后1KB的数据,主要参数指定文件。-f表示显示文件增长时新增的数据 |
例:
5、合并本地小文件上传到HDFS
hdfs dfs -appendToFile …
[root@master opt]# hdfs dfs -appendToFile a.txt b.txt /user/root/txtdir/merge.txt [root@master opt]# hdfs dfs -cat /user/root/txtdir/merge.txt I am student I am teacher
6、合并HDFS一个目录下所有文件并下载到本地
hdfs dfs -getmerge [-nl]
nl:在每个文件的末尾添加一个换行符
例:
[root@master opt]# hdfs dfs -getmerge /user/root/txtdir/ /opt/merge [root@master opt]# cat merge I am student I am teacher I like Hadoop I am student I am teacher
7、下载文件到本地系统
| 命令 | 解释 |
|---|---|
| hdfs dfs -get [-p] [-ignoreCrc] [-crc] … | 获得HDFS 文件系统上指定路径的文件到本地文件系统,主要参数为HDFS文件系统路径,为本地文件系统路径。-p表示保留访问和修改时间、所有权和模式。 |
| hdfs dfs -copyToLocal [-p] [-ibnoreCrc] [-crc] … | 同get |
例:
[root@master opt]# hdfs dfs -get /user/root/txtdir/c.txt /opt [root@master opt]# ls a.txt b.txt c.txt hadoop-2.7.2.tar.gz jdk-8u301-linux-x64.rpm merge rh
8、删除文件和目录
| 命令 | 解释 |
|---|---|
| hdfs dfs [-rm] [-f] [-R] [-skipTrash] … | 删除HDFS上的文件,主要参数-r用于递归删除,指定删除文件的路径。-f:如果文件不存在,不要显示诊断信息或修改退出状态以反映错误 |
| hdfs dfs [-rmdir] [–ignore-fail-on-non-empty]
| 如果删除的是一个空目录,则可以用该方法,主要参数
|
[root@master opt]# hdfs dfs -rm -r /user/root/txtdir



