2023.12.12 HDFS的机制,数仓关系,维度建模

2023-12-13 17:05:23

一.HDFS的架构

1.Client

发请求就是客户端.

文件切分,文件上传HDFS的时候,Client 将文件文件切分成一个一个的Block,然后进行存储,

与NameNode交互,获取文件的位置信息.

与DataNode交互,读取或者写入数据.

Client提供一些命令来管理和访问HDFS,比如启动或者关闭HDFS.

2.NameNode

就是master,他是一个主管,管理者.

处理客户端写入请求.

管理HDFS元数据(文件路径,文件的大小,文件的名字,文件权限,文件切割后的快BLOCK信息)

配置3副本备份策略.

3.DataNode

就是Slave 奴隶. NameNode 下达命令,DataNode执行实际的操作.

存储实际的数据块(block).

执行数据块的读/写操作

定时向namenode汇报block信息.

4.Secondary Namenode

并非NameNode的备份节点.当NameNode挂掉的时候,他并不能马上替换NameNode并提供服务.

只是辅助NameNode,对HDFS元数据进行合并,合并后再交给NameNode.

在紧急情况下,可辅助NameNode部分数据.

二.块和副本

block块:HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件,他将文件拆分成一系列的数据块进行存储,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的.

block块的大小默认为128M(为了容错,文件的所有block都会有副本,每个文件的数据块大小和副本系数都是可配置的)

副本系数默认3个

三.块副本机制

因为分布式存储会存在文件大小不一,不利于统一管理.

所以设定统一的管理单位,block块,块的统一大小128M,是为了方便统一管理

副本默认3个的原因:为了保证数据的安全性,通过多个副本备份解决,每个block块都有2个备份,每个副本都复制到其他服务器一份,每个块都有两个备份在其他服务器上,保证了数据的安全性.

四.三大机制

副本机制:为了保证数据安全和效率,block块信息存储多个副本,第一副本保存在客户端所在服务器,第二副本保存在和第一副本不同机架服务器上,第三副本保存在和第二副本相同机架不同服务器.

负载均衡机制:namenode为了保证不同的datanode中block块信息大体一致,分配存储任务的时候会优先保存在距离较近并且余量较大的datanode上.

心跳机制:datanode每隔三秒向namenode汇报自己的状态信息,如果某个时刻,datanode连续10次不汇报了,namenode会认为datanode有可能宕机了,namenode每5分钟发送一次确认消息,连续两次都没有收到恢复,就可以确认datanode宕机了.

机架感知机制:如何选择写入副本的datanode?

1.第一个副本选择本地机架,距离近,上传速度快.

2.第二个副本选择远程机架的随机节点,保证数据的可靠性.

3.第三个副本第二个副本所在机架的随机节点,而不是其他机架,是可以同时兼顾可靠性和效率的.

五.元数据存储的原理

文章来源:https://blog.csdn.net/m0_49956154/article/details/134952546
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。