0


Hadoop 之 HDFS命令

一、概述

HDFS(Hadoop Distributed File System)是Hadoop生态系统中的一个核心组件,它是一个高度容错性的分布式文件系统,设计用于在廉价硬件上存储大规模数据集。HDFS的架构采用主从(Master/Slave)结构模型,包含一个NameNode和多个DataNode。NameNode负责管理文件系统的命名空间和客户端对文件的访问操作,而DataNode则管理存储的数据。

HDFS还支持与Hadoop生态系统中的其他工具(如MapReduce、Hive、Pig等)进行配合使用,实现更为复杂的数据处理任务。HDFS在大数据处理场景中被广泛应用,例如数据挖掘、机器学习和科学计算等。

二、HDFS的常用命令(ls、mkdir、put、get、rm、chown、chmod)

  1. ls- 功能:列出HDFS目录中的文件和目录。- 语法:hdfs dfs -ls [-h] [-R] [-t] [-S] [-r] [-u] <path> ...- 示例:hdfs dfs -ls /user/hadoop- 参数说明: - -h:以人类可读的格式显示文件大小(例如,以KB、MB、GB为单位)。- -R:递归地列出目录及其子目录。- 其他参数提供了更多的排序和显示选项。
  2. mkdir- 功能:在HDFS中创建一个目录。- 语法:hdfs dfs -mkdir [-p] <path> ...- 示例:hdfs dfs -mkdir /user/hadoop/newdir- 参数说明: - -p:如果父目录不存在,则创建它们。
  3. put- 功能:将本地文件或目录复制到HDFS中。- 语法:hdfs dfs -put [-f] [-p] [-l] [-d] [-t <local_time>] <localsrc> ... <dst>- 示例:hdfs dfs -put localfile.txt /user/hadoop/- 参数说明: - -f:覆盖目标位置已存在的文件或目录。- -p:保留访问和修改时间。- -l:允许在本地系统中数据块较小的文件复制为HDFS中较大的数据块。- 其他参数提供了更多的选项。
  4. get- 功能:将HDFS中的文件或目录复制到本地文件系统中。- 语法:hdfs dfs -get [-f] [-p] [-l] <src> ... <localdst>- 示例:hdfs dfs -get /user/hadoop/remotefile.txt localdir/- 参数说明与put命令中的类似。
  5. rm- 功能:删除HDFS中的文件或目录。- 语法:hdfs dfs -rm [-r] [-skipTrash] [-f] <path> ...- 示例:hdfs dfs -rm /user/hadoop/unneededfile.txt- 参数说明: - -r-R:递归地删除目录及其内容。- -skipTrash:绕过HDFS的回收站并直接删除文件或目录。- -f:强制删除,不提示确认。
  6. chown- 功能:更改HDFS文件或目录的所有者。- 语法:hdfs dfs -chown [-R] <owner>:<group> <path> ...- 示例:hdfs dfs -chown hadoop:hadoopgroup /user/hadoop/somefile.txt- 参数说明: - -R:递归地更改目录及其内容的所有者和组。
  7. chmod- 功能:更改HDFS文件或目录的权限。- 语法:hdfs dfs -chmod [-R] <mode> <path> ...- 示例:hdfs dfs -chmod 755 /user/hadoop/somedir- 参数说明: - -R:递归地更改目录及其内容的权限。- <mode>:是一个八进制数,用于指定文件或目录的权限(例如,755表示所有者有读、写和执行权限,而组用户和其他用户只有读和执行权限)。

请注意,上述命令中的

hdfs dfs

前缀是HDFS shell命令的标准前缀。但在某些Hadoop发行版中,你也可以只使用

hdfs

作为前缀,或者完全不使用前缀(如果HDFS shell命令已经配置为系统的默认shell命令)

三、常用命令实操

3.1 准备工作

1)启动Hadoop集群(方便后续的测试)

[root@hadoop01 hadoop-3.1.3]$ sbin/start-dfs.sh
[root@hadoop02 hadoop-3.1.3]$ sbin/start-yarn.sh

2)-help:输出这个命令参数

[root@hadoop01 hadoop-3.1.3]$ hadoop fs -help rm

3)创建/jin文件夹

 hadoop fs -mkdir /jin

或者

hdfs dfs -mkdir /jin
创建hdfs目录
hadoop fs -mkdir /user/hadoop/newdir
递归创建HDFS目录(包括所有不存在的父目录)
hadoop fs -mkdir /user/hadoop/newdir
3.2 上传

1)-moveFromLocal:从本地剪切粘贴到HDFS

[root@hadoop01 hadoop-3.1.3]$ vim xiaoshou.txt

或者

hdfs -dfs -moveFromLocal ./xiaoshou.txt /jin
3.3复制

copyFromLocal:从本地文件系统中拷贝文件到HDFS路径去用

hadoop fs -put

命令将文件复制到HDFS。

hadoop fs -put /home/user/data.txt /user/hadoop/data.txt
**3.4 **-rm:删除文件或文件夹

删除单个文件

hadoop fs -rm /hdfs/path/to/file.txt

如果你想要删除一个文件夹及其所有内容,你需要使用

-r

-R

选项来递归地删除文件夹和其中的所有文件

hadoop fs -rm -r /hdfs/path/to/directory/
hadoop fs -rm -R /hdfs/path/to/directory/
3.5 -cat:显示文件内容
hadoop fs -cat /hdfs/path/to/large_file.txt > local_file.txt
3.6 -mkdir:创建路径
hadoop fs -mkdir /hdfs/path/to/directory
3.7 -cp:从HDFS的一个路径拷贝到HDFS的另一个路径
hadoop fs -mv /user/hadoop/hdfsdir/remotefile.txt /user/hadoop/newdir/  
hadoop fs -mv -r /user/hadoop/hdfsdir/ /user/hadoop/newdir/
这些命令是HDFS命令行工具的一些基本示例,用于管理HDFS上的文件和目录。请确保在运行这些命令之前,你已经配置了Hadoop环境,并且
hadoop

命令在你的PATH中可用。

标签: hadoop hdfs 大数据

本文转载自: https://blog.csdn.net/2201_75364488/article/details/138707670
版权归原作者 我真的头秃了! 所有, 如有侵权,请联系我们删除。

“Hadoop 之 HDFS命令”的评论:

还没有评论