nameNode工作机制
2019-11-04 13:59:42 0 举报
namenode工作机制
作者其他创作
大纲/内容
加载后就说明nameNode内存中就会存储完整的元数据metadata信息。
当前操作的日志
secondaryNameNode
替换
fsimage.chkpoint(副本)
1、加载edits、fsimage
memory(例如128G)每个block块占元数据150byte
内存元素据序列化产物文件
edits.002
请求是否需要checkPoint?
满足checkpoint条件后,会执行[edits.002]和[fsimage]文件的合并,
edits.inprocess
合并之前要对edits.inprocess文件进行滚动生成[edits.003]文件,和新的[edits.inprocess](空壳)文件
edits.002(副本)
基于001的滚动日志
加载到内存开始合并,合并完后生成新的fsimage
edits.003(副本)
fsimage
NameNode工作机制
fsimage(副本)
触发条件:1)定时(1h)2)edits文件溢出(100w条)
3.nameNode服务器接受到客户端请求后,会先把操作信息记录到操作日志文件[edits.002]、[edits.inprocess]中,
2.当nameNode内存中有了完整的metadata元数据后,就可以请求对资源的增删改操作(假如资源文件为/user/xxx/abc.avi)
4.把client客户端的操作信息记录到edits文件后,就可以在memory中对元数据进行增删改查操作了。
1.首先nameNode服务器在启动的时候会加载日志编辑文件[edits.001]和镜像文件[fsimage]这两个文件到内存中。
edits.003
如果edits文件越来越大怎么办?这个使用用到了secondaryNameNode,它的作用是最edits和fsimage文件进行合并。何为“合并”呢?合并就是说让服务器按照edits里面的记录执行一遍,加载到内存,然后再把内存中的元素据信息序列化到fsimage中
nameNode
edits.001
client
fsimage.chkpoint(新的)
为什么?如果这个时候nameNode服务器挂掉后,重启服务器读取[edits.002]、[edits.inprocess]文件里面的操作信息,可以对元数据进行恢复。
拷贝过来的文件
0 条评论
下一页