大数据组件----HDFS架构介绍

  • HDFS简介

1、HDFS来源于Google的GFS,是分布式文件存储系统。

2、解决了低成本存储大数据量的文件的问题(块),以及防止数据丢失(hdfs的副本)的问题

3、什么是分布式?

多个计算机节点协同完成一个任务(以hdfs读取一个文件为例:当客户端要读取一个文件时,要多个节点同时读取这个文件的块信息进行组装,将组装好的文件返回给客户端)

  • HDFS架构以及各个节点的作用

HDFSClient:HDFS客户端

NameNode:存储hdfs的元数据信息(fsimage文件)内存中

元数据:

01、目录名、文件名、以及它们之间的层级关系(hdfs中)

02、存储到hdfs中的文件的元数据信息(包括一个文件由哪些块组成,这些块在哪些主机上)

03、文件系统中的权限以及所有者

SecondaryNameNode:周期性合并edits文件与fsimage文件

edits文件:hdfs运行中产生的对系统元数据操作,都会先保存到edits文件。

DataNode:

01、负责存在具体的文件的块(数据块)。

02、同时也负责为客户端提供读写服务。

03、根据NameNode的指令执行创建、删除、复制的操作。

04、心跳机制定时向NameNode发送存储文件的块信息。

05、与其它NameNode进行通信,实现数据块的备份(冗余)。

  • HDFS合并流程

1、合并过程是指将文件系统中的edits文件与fsimage文件进行合并为一个新的fsimage文件的过程。

2、合并过程是在SecondaryNameNode节点中执行的(合并可以是按指定时间合并也可以是按照edits达到指定大小进行合并)

01、SecondaryNameNode通知NameNode进行合并操作

02、SecondaryNameNode拉取NameNode中的edits文件和fsimage文件(NameNode将新的操作记录到edits.new中)

03、SecondaryNameNode合并edits文件和fsimage文件为fsimage.chk的文件

04、NameNode从SecondaryNameNode中获取到fsimage.chk并替换以前的fsimage且将fsimage.chk名字改为fsimage,将edits.new名字改为edits并替换以前的edits文件

  •    HDFS写流程

转载:HDFS读写流程(史上最精炼详细)_little prince,blue coder-CSDN博客_hdfs读写流程,这个博客写的很详细

  • HDFS读数据流程

​​​​​​​01、客户端请求读取文件

02、NameNode检查是否有权限、请求的文件是否存在

03、客户端向NameNode请求需要文件的元数据(包括数据块信息、DataNode位置信息)

04、客户端就近并行读取DataNode中的数据块。

05、数据读取完成后会关闭连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值