大数据系列——什么是hdfs?hdfs用来干什么的?
一、什么是HDFS
HDFS全称是Hadoop Distributed File System
是一种分布式文件系统(HDFS使用多台计算机存储文件,对外提供统一操作文件的接口)
Hodoop使用HDFS(Hadoop Distributed File System)作为存储系统。
二、hdfs用来干什么的
用于大规模数据的分布式读写,特别是读多写少的场景
三、hdfs适用场景
具备高度容错特性,支持高吞吐量数据访问,可以在处理海量数据(TB或PB级别以上)的同时最大可能的降低成本。
读多写少的场景
a.存储非常大的文件并且对延时没有要求
b.一次写入,多次读取。数据集经常从数据源生成或者拷贝,然后做很多分析工作。
四、hdfs不适合的场景
a.对延时有要求;
b.多方读写
五、hdfs 架构
HDFS是一个主/从体系结构(经典的Master和Slave架构)。 HDFS由四部分组成,HDFS Client,NameNode,DataNode和Secondary NameNode。
每一个HDFS集群包括一个NameNode和多个DataNode。
Client:客户端
a.文件切分,文件上传HDFS的时候,将文件切分成一个一个的数据块(Block)进行存储 。
b.与NameNode交互,获取文件的位置 。
c.与DataNode交互,读取或写入数据 。 存储实际的数据块 执行数据库的读/写操作


HDFS基础命令
(hdfs 命令最常用的就是: hdfs dfs -[linux的命令])
1、 ls: 列出根目录下文件列表 hdfs dfs -ls / 使用-ls -R: 整个目录下递归运行ls ,如 hdfs dfs -lsr / 2、 mkdir: hdfs dfs mkdir <paths>hdfs dfs -mkdir tmp # 在hdfs文件系统中/user/test 目录下创建tmp目录hdfs dfs -mkdir /tmp # 在hdfs文件系统的根目录下创建一个tmp目录3、 hdfs dfs -rm -r -fhdfs dfs -rm -r -f /test # 删除根目录下的test目录hdfs dfs -rmdir /test # 删除目录:只能删除空目录4、put :将本地文件/文件夹拷贝到HDFS内.
例如 将a.txt上传到根目录下, hdfs dfs -put a.txt /5、get :将HDFS中的文件拷贝到本地.
例如 将HDFS中根目录下a.txt文件拷贝到本地当前目录 hdfs dfs -get /a.txt ./6、mv:将HDFS的文件移动到目标路径(HDFS内部的文件移动).
例如 hdfs dfs -mv /a.txt /test7、rm:删除文件或目录
8、cp:将文件拷贝到目标路径
9、cat :显示文件内容.
例如 hdfs dfs -cat /test/a.txt; hdfs dfs -cat ./tmp/exception.log10、hdfs dfs -text. # 查看文件内容,支持压缩文件的查看而不会乱码 hdfs dfs -text ./tmp/exception.log11、# 从根目录下精确搜索exception.log文件
hdfs dfs -find / -name exception.log12、hdfs dfs -count /user/test # 对/user/test 目录进行统计13、chmod:改变文件权限
14、chown :改变文件所属用户和用户组 15、appendToFile :合并本地文件拷贝至HDFS
hdfs dfs -appendToFile ./exp.log ./tmp/exception.log
七、hdfs业务中应用
实际业务中,会全量输入写入hdfs文件供第三方业务线读取,或者同步到hive表供后续业务继续加工。

原文参考链接
大数据系列——什么是hdfs?hdfs用来干什么的?_hdfs作用_多则惑少则明的博客-CSDN博客