四、总结
1. NN主要负责元数据的存储
2. 两种存储的文件格式
edits: 在NN启动后,保存新写入的命令
fsimage: 在合并了edits和fsimage文件后,将新的元数据持久化到新的fsimage文件中
合并的时机: 需要满足checkpoint的条件
①默认1h
②两次checkpoint期间已经额外产生了100w txid的数据
3. 存储的元数据分为两种
①inodes : 记录文件的属性和文件由哪些块组成,记录到edits和fsimage文件中
②块的位置映射信息: 由NN启动后,接收DN的上报,动态生成!
4. NN的启动过程
①先加载fsimage_000000xx文件
②将fsimage文件xx之后的edits文件加载
③合并生成最新的元数据,记录checkpoint,如果满足要求,执行saveNamespace操作,不满足等满足后执行
saveNamespace操作必须在安全模式执行
④自动进入安全模式,等待DN上报块
DN上报的块的最小副本数总和 / 块的总数 > 0.999,自动在30s离开安全模式!
安全模式只能有限读,不能写!
一、解决HDFS上小文件的存储
1.从源头上