Hdfs1

2021-08-18  本文已影响0人  嘉宾

hdfs 一共有三个部分组成。

client,namenode,datanode 三个部分。读取流程,client先从namenode 获取文件所在的datanode,再直接从datanode 中读取文件。值得注意的是,namenode,是完全基于内存的,所以不安全️。对于namenode基于内存的数据需要持久化。

持久化流程:对于一个全新的namenode会初始化一个空的Fimage,假如8点这个时间点初始化的,从8点开始就会一直记录Editlog, 那么默认3600后或Editlog大于64m就会触发Editlog向Fimage合并,一般会单独开一个节点(SecondaryNameNode:SNN)做这个事情,避免影响到namenode节点的性能。

Block副本放置策略:对于集群布置的datanode,一个文件被分成N个block, 不同的块放置会不一样,比如文件分为B1,B2,B3 ,有DN1,DN2,DN3, 启动DN1,DN2在机架A中,DN3在机架B中,那么B1会落在DN1,B2会落在DN3, B3会落在DN3.

上一篇 下一篇

猜你喜欢

热点阅读