当前位置:首页>维修大全>综合>

hdfs如何实现数据的分块和复制(简述hdfs写入数据的7个步骤)

hdfs如何实现数据的分块和复制(简述hdfs写入数据的7个步骤)

更新时间:2024-03-14 06:28:19

hdfs如何实现数据的分块和复制

背景知识:

1、HDFS采用多副本方式对数据进行冗余存储,即一个数块的多个副本分布到不同的数据节点上。

2、集群内部发起写操作请求,把第一个副本放置在发起写操作请求的数据节点上,实现就近写入数据。

如果来自集群外部写操作请求,命名空间从集群中挑选一台磁盘不太满、CPU不太忙的数据节点,作为第一个副本存放地

3、第二个副本放置在与第一个副本不同机架上的数据节点上

4、第三个副本放置在与第一个副本相同机架上的其他节点

5、如果还有多个副本,继续从集群中随机选择数据节点进行存放 。

数据复制技术:

1、当客户端要往HDFS中写入一个文件时,该文件首先写入本地,并切分成若干文件块,每个文件块的大小由HDFS的设定值来决定。

2、每个数据块向名称节点发起写请求,名称节点会根据集群中数据节点的使用情况,选择一个数据节点列表返回给客户端。

3、第一个数据节点接受到4KB数据的时候,写入本地,并且向列表中的第二个数据节点发起连接请求,把自己已经接收到的数据和列表传送给第二个数据节点;

4、第二个数据节点接受到数据,写入本地,并且向列表中的第三个数据节点发起连接请求,以此类推,列表中的多个数据节点形成一条数据复制的流水线。

5、列表中最后一个数据节点写完,会沿着列表逆序发送数据写完毕信号。

更多栏目