- 在HDFS中使用的是主从结构,即一个主节点,多个从节点。
- 在HDFS中主要包含四部分:Client(Shell命令/API/Java Application)、NameNode、DataNode、SecondaryNameNode。
- NameNode节点负责维护DataNode上各个块的metadata以及整个HDFS的目录树结构,并且还会将内存中的块的metadata以及fsimage、edits等持久化文件进行备份,以防宕机时数据丢失。
- fsimage文件中保存了整个HDFS中的目录树结构、我们的数据文件分成了哪些块以及块的位置等信息。
- edits文件中存储的是用户对HDFS中的数据/文件执行的操作,当用户对HDFS的数据\文件进行修改或者添加、删除等操作时,并不会立刻去执行这些操作,而是先将这些操作记录在edits文件中。满足一定条件后,会将当前的edits文件中的操作合并为fsimage文件,并创建一个新的edits文件来记录从这次合并之后又产生的新的数据操作。合并文件是为了减小edits文件的大小,以减少下次启动服务时复盘上次最后一个edits文件所消耗的时间。
- DataNode是真正负责客户端的读写请求的,并实际存储数据的节点,在NameNode的调度安排下,进行数据块的创建、复制等操作。DataNode会定时向NameNode发送心跳以汇报自己当前状态,当某个DataNode很久没有发送心跳时,NameNode会将该节点标记为宕机状态
HDFS的体系结构
于 2022-04-07 22:54:09 首次发布
本文介绍了HDFS的主从结构,包括Client、NameNode、DataNode和SecondaryNameNode的角色。NameNode维护DataNode上的块元数据和目录树,使用fsimage和edits文件保持数据一致性。DataNode执行实际的读写操作并报告状态。SecondaryNameNode协助NameNode合并fsimage和edits,以减少磁盘IO并确保集群状态一致。checkpoint策略基于时间和事务数量触发合并。
摘要由CSDN通过智能技术生成