我们已经知道 HDFS 是分布式存储,可以存放大批量的文件,如果要对文件进行操作,可以通过下面的命令来完成,如读取文件、上传文件、删除文件和建立目录等。

1.对文件的操作

HDFS 的命令都在 Hadoop 的 bin 目录下,如果已经设置好 Hadoop 的环境变量,可以直接输入 HDFS 命令行,常见的相关命令如下。

 hdfs -ls [-d] [-h] [-R] [<path> ...] 

·-d:显示目录。
·-h:以易读的方式显示文件的大小。
·-r:递归列出目录的内容。

 hdfs -put [-f] [-p] <localsrc> ... <dst> 

·-p:保留访问和修改时间、所有权和模式。
·-f:如果文件已存在,可以覆盖。

当复制多个文件时,目标必须是一个目录。代码如下:

 hdfs -get [-p] [-ignoreCrc] [-crc] <src> ... <localdst> 

·-p:保留访问和修改时间、所有权和模式。

 hdfs -rm [-f] [-r|-R] [-skipTrash] <src> ... 

·-f:如果该文件不存在,则不显示诊断消息或修改退出状态以反映错误。
·-r:递归列出目录的内容。

 hdfs -cat [-ignoreCrc] <src> ... 
 hdfs -mkdir [--ignore-fail-on-non-empty] <dir> ... 
 hdfs -copyFromLocal [-f] [-p] <localsrc> ... <dst> 

·-p:保留访问和修改时间、所有权和模式。
·-f:如果文件已存在,可以覆盖。

2.管理与更新

上面的命令是对文件的操作,接下来介绍关于 HDFS 的常见情景和管理步骤。

查看 HDFS 的基本统计信息。代码如下:

 hdfs dfsadmin -report [-live] [-dead] [-decommissioning] 

2.2.退出安全模式
NameNode 在启动时会自动进入安全模式。
安全模式是 NameNode 的一种方式,在这个阶段,文件系统不允许有任何修改,系统显示 Name node in safe mode,说明系统正处于安全模式,这时只需要等待十几秒即可。也可以通过下面的命令退出安全模式。代码如下:

 hdfs dfsadmin -safemode leave