Hadoop之HDFS的shell命令

Posted 柳小葱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop之HDFS的shell命令相关的知识,希望对你有一定的参考价值。

🍁上一节我们学习了HDFS的基本结构和文件存储的方式,感兴趣的小伙伴可以查看👇:

🌰今天我们来学习一下hadoop的一些命令,这一章是HDFS的重点内容!以后服务器上文件的操作都要用到本文内容。

1.基本语法

大多数的HDFS Shell命令和对应的linux命令类似,主要区别就是HDFS shell命令操作的是远程Hadoop服务器的文件,而linux shell命令操作的是本地文件。HDFS命令主要有两种写法:

hadoop fs  -具体命令
hdfs dfs  -具体命令

2.常用文件操作命令

2.1 命令帮助

可查看命令的详细信息

hadoop fs -help 具体命令
hadoop fs -help rm

查看rm命令的详情
在这里插入图片描述

2.2 创建文件

在服务器上创建文件夹

hadoop fs -mkdir 文件路径
hadoop fs -mkdir /RNG

创建成功
在这里插入图片描述

2.3上传命令

  • moveFromLocal:从本地文件剪切到HDFS
#将当前文件夹下的no.1.txt文件j剪切到RNG目录下去
hadoop fs -moveFromLocal ./no.1.txt /RNG

上传成功
在这里插入图片描述
原文件no.1.txt文件不存在
在这里插入图片描述

  • copyFromLocal: 从本地文件复制到HDFS
#将当前文件夹下的no.2.txt文件j复制到RNG目录下去
hadoop fs -copyFromLocal ./no.2.txt /RNG

上传成功
在这里插入图片描述
原文件no.2.txt存在
在这里插入图片描述

  • put:等同于copyFromLocal,是将本地文件复制到HDFS上
#将当前文件夹下的no.3.txt文件夹复制到RNG目录下去
hadoop fs -put ./no.3.txt /RNG

在这里插入图片描述

  • appendToFile:追加一个文件到已经存在的文件末尾
#HDFS不支持对文件的随机修改,只能追加数据
hadoop fs -appendToFile uzi.txt /RNG/no.1.txt

将uzi.txt的内容追加到no.1.txt中
在这里插入图片描述

2.4下载命令

  • copyToLocal:从HDFS拷贝到本地
将服务器上/RNG/no.1.txt的内容拷贝到本地no1.txt的文本内
hadoop fs -copyToLocal /RNG/no.1.txt ./no1.txt

在这里插入图片描述
文件内容
在这里插入图片描述

  • get: 等同于copyToLocal ,从HDFS拷贝到本地,在实际中get使用较多

3.直接操作命令

3.1 -ls:显示目录信息

#显示服务器上文件夹内的内容
hadoop fs -ls /RNG

在这里插入图片描述

3.2 -cat:显示文件内容

hadoop fs -cat /RNG/no.1.txt

在这里插入图片描述

3.3 -chgrp、-chmod、-chown:修改文件所属权限

chown:修改文件拥有者
chgrp:修改文件所属组
chmod:修改文件的权限

hadoop fs -chmod 666 /RNG/no.1.txt
hadoop fs -chown 用户名:用户名 /RNG/no.1.txt

3.4 -cp:从HDFS一个路径复制到另一个路径

将no.1.txt从RNG文件夹中拷贝到根目录下
hadoop fs -cp /RNG/no.1.txt /

3.5 -mv :从HDFS一个路径剪切到另一个路径

将no.1.txt从RNG文件夹中剪切到根目录下
hadoop fs -mv /RNG/no.1.txt /

3.6 -tail : 显示末尾1kb的数据

hadoop fs -tail /RNG/no.1.txt

3.7 -rm : 删除文件或者文件夹(谨慎操作)

hadoop fs -rm /RNG/no.1.txt

3.7 -rm -r: 删除文件夹和文件夹里面的内容(谨慎操作)

hadoop fs -rm -r /RNG

3.8 -du:统计文件夹的大小

#查看所有文件的大小
hadoop fs -du -s -h /RNG

在这里插入图片描述
34是总文件大小,102是3个副本的总和

#查看各文件的大小
hadoop fs -du -h /RNG

在这里插入图片描述

3.9 -setrep:修改HDFS中文件的副本数量

#设置10个副本
hadoop fs -setrep 10 /RNG/no.1.txt

修改成功:
在这里插入图片描述

参考资料

《大数据Hadoop3.X分布式处理实战》

以上是关于Hadoop之HDFS的shell命令的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop之HDFS(概述和Shell操作)

Hadoop技术之HDFS shell操作

HDFS的访问方式之HDFS shell的常用命令

大数据技术之Hadoop(HDFS)概述Shell操作API操作读写流程工作机制

大数据技术之Hadoop(HDFS)概述Shell操作API操作读写流程工作机制

大数据技术之Hadoop(HDFS)