Hdfs概述
- Hdfs是Hadoop Distributed File System 的简称,它是Hadoop实现的一个分布式文件系统。
- Hdfs有高容错点的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。
- Hdfs放宽了POSIX的要求,可以以流的形式访问文件系统的数据。
- Hdfs总体上采用了master/slave架构,主要由以下几个组件组成:Client、NameNode、Secondary和DataNode。
Hdfs框架
Hdfs特性
Hdfs(Hadoop Distributed File System)Hadoop分布式文件系统。
Hdfs特点:
- 保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认存3份。
- 运行在廉价的机器上。
- 适合大数据的处理。多大?多小?HDFS默认会将文件分割成block,128M为1个block,然后将block按键之对保存在Hdfs上,并且键值对的映射存到内存中。如果小文件太多,那内存的负担会很重。
Hdfs写原理1
系统环境:
- 有个文件FileA,130M大小。Client将FileA写入到HDFS上。
- HDFS按默认配置。
- HDFS分布在三个机架上Rack1,Rack2,Rack3.
写数据流程
- client将fileA按照128M分块,block1和block2
- Client向nameNode 发送写数据请求,如图蓝色虚线①-------》
- NameNode节点,记录block信息,并返回可用的DataNode,如粉色虚线②--------------->。
- Client向DataNode发送block1;发送过程是以流式写入。
Hdfs写原理2
Hdfs读原理1
读流程
- client向namenode发送读请求。
- Namenode查看Metadata信息,返回FileA的block的位置。
- Block的位置是有先后顺序的,先读block1,再读block2。而且block1去host2上读取;然后block2,去host7上读取。
Hdfs读原理