文章目录

1.HDFS Shell概述1.1操作命令管理命令其他命令

1.HDFS Shell概述

HDFS Shell 是由一系列类似 Linux Shell 的命令组成的。命令大致可分为操作命令、管理命令、其他命令三类

1.1操作命令

操作命令是以“hdfs dfs”开头的命令。通过这些命令,用户可以完成 HDFS 文件的复制、删除和查找等操作,Shell 命令的一般格式如下。

hdfs dfs [通用选项]

其中,hdfs 是 Hadoop 系统在 Linux 系统中的主命令;dfs 是子命令,表示执行文件系统操作;通用选项由 HDFS 文件操作命令和操作参数组成。 (1)创建文件夹 命令:hdfs dfs -mkdir [-p] <文件路径> -p]:表示如果父目录不存在,先创建父目录。 例如,新建文件夹/202012721、/202012721/dir1。命令如下:

hdfs dfs -mkdir /202012721

hdfs dfs -mkdir -p /202012721/dir1

结果为:

(2)列出指定的文件和目录 命令:hdfs dfs -ls [-d][-h][-R] <文件路径> [-d]:返回 path。 [-h]:h 指“human-readble”,表示按照人性化的单位显示文件大小,比如文件显示为 10MB, 而不会显示 10240KB。 [-R]:级联显示 paths 下的文件。 例如,列出根目录下的文件或目录。命令如下:

hdfs dfs -ls /

结果为:

(3)新建文件 命令:hdfs dfs -touchz <存放路径> 例如,在主目录/202012721/input 下创建大小为 0 的空文件 file。命令如下:

hdfs dfs -touchz /202012721/input.txt

hdfs dfs -ls /202012721

结果为:

(4)上传文件 命令:hdfs dfs -put [-f] [-p] <本地路径> 或 hdfs dfs -copyFromLocal [-f] [-p] [-l] <本地路径> 在这里我们只演示第一个命令。例如,在本地创建一个文件 data.txt并传到HDFS的/202012721目录下命令如下:

hdfs dfs -put data.txt /202012721/data.txt

结果为: (5)将本地文件移动到 HDFS 命令:hdfs dfs -moveFromLocal <本地文件路径> 。 与“hdfs dfs -copyFromLocal”命令不同的是,此命令将文件复制到 HDFS 后,本地的文件会被删除。 例如,我们把本地文件data2.txt移动到HDFS的/202012721命令如下:

hdfs dfs -moveFromLocal data2.txt /202012721

结果为: (6)下载文件 命令:hdfs dfs -get [-p] <本地文件路径> 或 hdfs dfs -copyToLocal [-p] [-ignoreCrc] [-crc] <本地文件路径> 例如,将 HDFS 中的/202012721/data.txt 文件下载并保存为本地的 ~/local_data.txt,将/202012721/data2.txt文件下载到本地目录。命令如下。

hdfs dfs -get /202012721/data.txt ~/local_data.txt

hdfs dfs -copyToLocal /202012721/data2.txt ~

(7)查看文件 命令:hdfs dfs -cat/text[-ignoreCrc] <文件路径> hdfs dfs -tail [-f] <文件路径> -ignoreCrc:忽略循环检验失败的文件。 -f:动态更新显示数据。 例如,查看/202012721/data.txt。命令如下。

hdfs dfs -cat /202012721/data.txt

结果为

(8)追写文件 命令:hdfs dfs -appendToFile <本地路径> <目标路径> 该命令将 localsrc 指向的本地文件内容写入目标文件 dst。例如,在本地根目录下新建 data3.txt 文件,内容为”hadoop”,追加到文件/202012721/data.txt 中。命令如下。

hdfs dfs -appendToFile data3.txt /202012721/data.txt

hdfs dfs -cat /202012721/data.txt

结果为:

(9)删除目录或者文件 命令:hdfs dfs -rm [-f] [-r] <文件路径> -f:如果要删除的文件不存在,不显示错误信息。 -r/R:级联删除目录下所有的文件和子目录文件。 例如,删除 HDFS 中的/202012721/data2.txt 文件。命令如下。

hdfs dfs -rm /202012721/data2.txt

结果为:

(10)显示占用的磁盘空间大小 命令:hdfs dfs -du [-s] [-h] <文件路径> 按字节显示指定目录所占空间大小。 -s:显示指定目录下文件总的大小。 -h:h 指“human-readble”,表示按照人性化的单位显示文件大小,比如文件显示为 10MB,而不会显示 10240KB。例如,显示 HDFS 根目录中 202012721 文件夹下所有文件的大小。命令如下:

hdfs dfs -du /202012721

结果为:

(11)HDFS 中的文件复制 命令:hdfs dfs -cp [-f] [-p | -p[topax]] <原路径> <目标路径> -f:如果目标文件存在,将强行覆盖。 -p:将保存文件的属性。 例如,将 HDFS 中的/202012721/data.txt 复制为/202012721/data_copy.txt。命令如下。

hdfs dfs -cp /202012721/data.txt /202012721/data_copy.txt

结果为:

(12)HDFS 中的文件移动(改名) 命令:hdfs dfs -mv <原路径> <目标路径> 例如,将 HDFS 中的/202012721/data_copy.txt 移动(也可理解为改名)为/202012721/data2.txt。命令如下。

hdfs dfs -mv /202012721/data_copy.txt /202012721/data2.txt

结果为:

管理命令

管理命令是以“hdfs dfsadmin”开头的命令。通过这些命令,用户可以管理 HDFS。管理命令的一般格式如下:

hdfs dfsadmin [通用选项]

其中,hdfs 是 Hadoop 系统在 Linux 系统中的主命令;dfsadmin 是子命令,表示执行文件系统管理的操作;通用选项由 HDFS 管理命令和参数组成。 (1)报告文件系统的基本信息和统计信息 命令如下:

hdfs dfsadmin -report

结果如下:

(2)查看拓扑 命令如下:

hdfs dfsadmin -printTopology

结果如下:

其他命令

我们把操作命令“hdfs dfs”、管理命令“hdfs dfsadmin”之外的命令称为其他命令。输入hdfs查看。

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: