大数据基础(3)HDFS常用命令

TangLu 未命名 2021-12-14 1481 0

一、HDFS介绍

HDFS是Hadoop底层的分布式文件系统,用来存储Hadoop中的海量数据。HDFS集群由多个NameNode、DataNode、Secondary NameNode共同组成。其中NameNode用于管理整个文件系统的元数据信息;DataNode存放了文件数据,这些数据都拥有多个副本,并且可以自动检测数据副本是否缺失;Secondary NameNode则是对NameNode元数据进行监控备份。HDFS适合一次写入多次读取的场景,不支持对里面的文件进行修改,所以适合做数据分析不适合做网盘类应用


二、HDFS命令使用

1、HDFS基本语法

#两个命令作用一样
hadoop fs [参数]
hdfs dfs [参数]


2、HDFS参数介绍与示例

· 查看每个参数的帮助

hdfs dfs -help [参数]
hdfs dfs -help ls  #查看HDFS中ls命令的用法


· 列出HDFS文件系统中的文件

hdfs dfs -ls /
hdfs dfs -ls -R


· 在HDFS中创建目录

hdfs dfs -mkdir /test
hdfs dfs -mkdir -p /linuxe/tanglu


· 从本地系统将文件剪切到HDFS

hdfs dfs -moveFromLocal /root/1.txt  /  #将本地磁盘中的1.txt剪切到HDFS根目录


· 从HDFS中剪切文件到本地()

hdfs dfs -moveToLocal [src] [localdst]


· 从本地系统将文件复制到HDFS

hdfs dfs -copyFromLocal /root/2.txt  /


· 从HDFS中将文件复制到本地

hdfs dfs -copyToLocal [src] [localdst]


· 将文件从HDFS一个路径拷贝到另一个路径

hdfs dfs -cp /a/1.txt /b/1.txt


· 将文件从HDFS一个路径剪切到另一个路径

hdfs dfs -mv /a/1.txt /b/1.txt


· 显示文件内容

hdfs dfs -cat /1.txt


· 显示文件末尾

hdfs dfs -tail /1.txt


· 修改文件所属用户

hdfs dfs -chown tanglu:tanglu /1.txt


· 修改文件权限

hdfs dfs -chmod 755 /1.txt


· 从HDFS下载文件

hdfs dfs -get /1.txt /root/1.txt


· 上传文件到HDFS

hdfs dfs -put /root/3.txt /


· 多个文件合并下载到本地,文件中的内容会合并到新文件中

hdfs dfs -getmerge /*.txt /root/new.txt


· 删除HDFS中的文件

hdfs dfs -rm -R /1.txt
hdfs dfs -rmdir /tanglu


· 查看HDFS中的磁盘信息

hdfs dfs -df -h /


· 查看HDFS中指定文件大小

hdfs dfs -du -h /tanglu


· 统计HDFS目录中文件数量

hdfs dfs -count /tanglu


· 设置HDFS指定文件的副本数量

hdfs dfs -setrep 1 /1.txt  #设置/1.txt文件副本数量为1


· 设置上传块大小,默认是128M

hdfs dfs -D dfs.blocksize=5242880 -put /root/test.txt /  #修改为5M


· 刷新namenode和resourcemanager,避免重启服务

hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes


评论