HDFS命令
在本程序中,有关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 -moveFromLocal
option.
磁盘使用情况
我们可以通过一个简单的选项查看给定目录中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