HDFS命令

时间:2020-02-23 14:33:30  来源:igfitidea点击:

在本程序中,有关Apache Hadoop HDFS命令的内容,我们将介绍最常用的命令,这些命令用于Hadoop管理和管理Hadoop集群上的文件。

HDFS命令

Hive命令可以在任何Hadoop集群上运行,也可以自由使用Hortonworks,Cloudera等提供的任何VM。

Hadoop HDFS命令

我们将从一些非常基本的帮助命令开始,并在本程序中进行更详细的介绍。

获取所有HDFS命令

以下是Hadoop HDFS最简单的帮助命令,通过它我们可以获取Hadoop中所有可用的命令以及如何使用它们:

hadoop fs -help

让我们看一下该命令的输出:Hadoop fs help

The output was quite long actually as this prints all the available commands a brief on how to use those commands as well.

有关特定Hadoop命令的帮助

从上一个命令打印的信息很大,因为它打印了所有命令。
在该输出中查找特定命令的帮助非常棘手。
这是缩小搜索范围的命令:

hadoop fs -help ls

让我们看一下该命令的输出:Hadoop特定命令教程

特定Hadoop命令的用法

要知道每个命令的语法,除了终端本身,我们不需要走任何地方。
我们可以使用用法选项来了解有关如何使用命令的语法:

hadoop fs -usage ls

让我们看一下该命令的输出:Hadoop命令的用法

Apart from usage, it also shows all possible options for the command specified.

列出fs文件和目录

要列出默认目录下的所有可用文件和子目录,只需使用以下命令:

hadoop fs -ls

让我们看一下该命令的输出:列出所有文件

We ran this in the root directory and that's why the output.

制作HDFS目录

我们可以使用以下命令为Hadoop File System创建新目录:

hadoop fs -mkdir /root/theitroad_bigdata

请注意,如果您在/user /目录中创建一个新目录,则Hadoop将对该目录具有读/写权限,但对于其他目录,默认情况下它仅具有读权限。

将文件从本地文件系统复制到Hadoop FS

要将文件从本地文件系统复制到Hadoop FS,我们可以使用一个简单的命令:

hadoop fs -copyFromLocal derby.log /root/theitroad_bigdata

让我们看一下该命令的输出:将文件从本地fs复制到HDFS

If instead of copying the file, you just want to move it, just make use of the -moveFromLocaloption.

磁盘使用情况

我们可以通过一个简单的选项查看给定目录中HDFS下文件的磁盘使用情况,如下所示:

hadoop fs -du /root/theitroad_bigdata/

让我们看一下该命令的输出:HDFS中目录的磁盘使用情况

If you simply want to check disk usage of complete HDFS, run the following command:


让我们看一下该命令的输出:完整HDFS的磁盘使用情况

空垃圾数据

当我们确定垃圾箱中没有可用的文件时,可以通过使用以下命令删除所有文件来清空HDFS中的垃圾箱:

hadoop fs -expunge

这将仅删除HDFS中的所有Trashed数据,并且不创建任何输出。

修改文件的复制因子

众所周知,复制因子是将文件作为Hadoop集群及其HDFS复制的计数。
我们可以使用以下命令来修改文件的复制因子:

hadoop fs -setrep -w 1 /root/theitroad_bigdata/derby.log

让我们看一下该命令的输出:修改HDFS中的复制因子

更新Hadoop目录权限

如果您在Hadoop中遇到与权限相关的问题,请运行以下命令:

hadoop fs -chmod 700 /root/theitroad_bigdata/

使用此命令,您可以提供和制定授予HDFS目录的权限并限制其访问。

删除HDFS目录

我们可以使用rm命令删除整个HDFS目录:

hadoop fs -rm -r /root/theitroad_bigdata