hadoop hdfs架构原理与高可用机制

HDFS架构原理


hdfs架构图

Block

1、数据被切分成固定大小的数据块(默认128M在hadoop2.x)可以自己设置;如果数据不到128M,则单独就放到一个block块里。

2、一份数据如果由多block块组成,这些block块是存在不同的节点上的;每一个block的副本也是存在不同节点上的,默认3个副本。

3、Block大小和副本数通过Client端上传文件时设置,文件上传成功后副本数可以变更,Block Size不可变更。

NameNode

1、主要功能:接收客户端的读写操作。

2、保存数据的metadata信息,metadata信息包括:文件owership和permissions;文件包含哪些块;Block保存在哪个DataNode(由DataNode启动时上报);

3、NameNode启动后加载metadata的信息到NameNode的内存中,metadata存储到磁盘上就是fsimage文件,但是这个文件中的信息不包含block的位置信息,block的位置信息是在NameNode启动后由DataNode汇报的,实时的。edits文件记录对metadata操作的日志信息。

SecondaryNameNode

1、它不是NameNode的备份,但是可以做部分备份。它的主要工作就是帮助NameNode合并edits日志