在hdfs文件系统中创建目录连接失败_一文带你学会HDFS命令操作

点击上方“道源趣谈”,“设为星标”

加“星标★”,每天早晨08:30,好文必达

今天我们来学习下HDFS相关命令的操作

1.操作hdfs 相关的脚本

在hadoop中提供了hadoop和hdfs 两个脚本对hdfs进行操作,这两个脚本都在hadoop/bin/目录下

3d747be8e5ef587b80062f84af508967.png
图片

两个脚本对关键点就是下面这句

exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"

hadoop实际上就是运行相关点java代码,通过上面可以看到实际就是在指定运行$CLASS这个变量对应点类 hdfs脚本中,当我们运行hdfs dfs 命令时,实际上是执行以下代码

61b59c541ce79fd691e47560340dcab9.png
图片

看到实际执行点类是FsShell这个类

而在hadoop中,当我们运行hadoop fs命令时,实际上也是运行FsShell这个类

ec27855d45b697ae1695525db60ca4b4.png
图片

所以本质上hadoop fs命令与hdfs dfs 命令并无区别,这只是hdfs对hadoop更加细化而已

hadoop fs -mkdir /opt

以上命令相当于下面的命令

hdfs dfs -mkdir /opt1
27e108fec05fd011a54b1e382d4d0a83.png
图片

2.hdfs 的文件系统shell操作

hdfs dfs命令即为hdfs shell操作,具体的相关命令可以参看官网地址:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/FileSystemShell.html

其实hdfs很多命令都跟linux中都命令一致,只是在hadoop中,需要加上hadoop fs -前缀,比如:

hadoop fs -cat /opt/aa.txt

上面使用cat命令读取文件内容

2.1 查看帮助

通过hdfs dfs -help可以查看

hdfs dfs -help
53def1324ce3eadc893b99300e512ca5.png
图片

可以看到,实际就是hadoop fs命令,所以我们可以用hadoop fs命令

2.2 从本地系统到hdfs文件系统的相关命令

put命令

格式:[-put [-f] [-p] [-l] [-d]  ... ]

该命令表示将本地资源,上传到hdfs文件系统中

hadoop fs -put rmdata.sh /opt/

上面命令表示将本地的rmdata.sh文件拷贝到hdfs文件系统中/opt目录下 本地文件:

e8772a9a403ccb740dff892cacf7306b.png
图片

hdfs 文件系统中/opt目录下:

通过http://hadoop102:50070  下

f9cec78049c58e349a11f52620ae07d8.png
图片

copyFromLocal命令

格式:[-copyFromLocal [-f] [-p] [-l] [-d]  ... ]

该命令与put命令一样,表示从本地拷贝到hdfs文件系统中,一般使用put命令

hadoop fs -copyFromLocal rmdata.sh /opt/

moveFromLocal命令

将本地文件移到hdfs中,本地文件会被删除

hadoop fs -moveFromLocal rmdata.sh /opt/

appendToFile命令

这个命令表示将本地某个文件的内容,追加到hdfs文件系统中指定文件中

hadoop fs -appendToFile bb.txt /opt/aa.txt

可以通过hadoop fs -cat命令查看hdfs 中/opt/aa.txt文件内容

hadoop fs -cat /opt/aa.txt
9f3778e955bc506bb33720f0f6bd00cf.png
图片

2.3从hdfs文件系统到本地系统的相关命令

从hdfs到本地系统,则表示拉取文件到本地

get命令

hadoop fs -get /opt/aa.txt /opt/module/

/opt/aa.txt是hdfs中的文件  ,/opt/module是本地的文件目录,表示将hdfs中的aa.txt文件下载到本地系统/opt/module下a02c586ad3a449d7036d1a79f06d9096.png

copyToLocal命令

这个命令跟get命令一摸一样,也是从hdfs中拉取文件到本地系统

hadoop fs -copyToLocal /opt/aa.txt /opt/module/

2.4hdfs中操作的相关命令

在hdfs文件系统中直接操作的相关命令,其实大部分跟在linux文件系统中操作的相关命令一致,只是hdfs需要使用的是hadoop fs - 前缀

mkdir命令

hadoop fs -mkdir /hadoop1

在hdfs文件系统中的根目录下创建了一个hadoop1目录80e00fde76ee5e7e894ad2e55c6690ae.png

ls命令

hadoop fs -ls /
11928b2bdfe421001dd98e3ad1859859.png
图片

rmdir命令

hadoop fs -rmdir --ignore-fail-on-non-empty /user

rmdir命令删除的是空目录,如果目录不为空则无法删除

rm命令

hadoop fs -rm -r -f /tmp

这个命令跟linux中的rm一样,可以支持文件删除,支持目录删除,强制删除,递归删除

cat命令

hadoop fs -cat /opt/aa.txt

474b161893ce11a43bf9caee09474763.png

touchz命令

hadoop fs -touchz /abc.txt

创建一个空白文件

tail命令

这个命令跟linu命令一样,用来查看文件末尾内容

hadoop fs -tail -f /opt/rmdata.sh

cp命令

hadoop fs -cp /abc /aa

进行文件的拷贝

mv命令

hadoop fs -mv /abc.txt /opt

du命令

查看目录占用空间

hadoop fs -du /opt

df命令

查看磁盘空间

hadoop fs -df
eeefb6b42a700b08abb91efe2121f547.png
图片

chmod命令

修改文件或文件夹权限

hadoop fs -chmod 555 /hadoop1

chown命令

修改拥有者权限

hadoop fs -chown root /hadoop1

chgrp命令

修改所属组权限

hadoop fs -chgrp root /hadoop1

fsck命令

检查文件系统是否有损坏

hadoop fsck /data

检查/data目录下是否有文件损坏c6118425e30da2f75630a4cfd1206f79.png

hadoop fsck /hbase/data -delete

执行fsck检查,并将损坏的文件删除

最后如果想了解hdfs更多相关的命令可以参考官网地址:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html

6e9ed1c5849ab31e830c9d59b0e5566a.png
扫码订阅,精彩在线看

如有收获,点个在看,诚挚感谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值