永发信息网

怎么理解namenode中的fsimage和edits文件

答案:2  悬赏:0  手机版
解决时间 2021-03-24 01:23
  • 提问者网友:骨子里的高雅
  • 2021-03-23 03:45
怎么理解namenode中的fsimage和edits文件
最佳答案
  • 五星知识达人网友:往事埋风中
  • 2021-03-23 04:50
在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志。那么当执行-format时,是否会删除掉真正的数据? 希望采纳
全部回答
  • 1楼网友:醉吻情书
  • 2021-03-23 05:24
你想到了用一个文件记录下来。。。可行,先姑且命名为edits,每次操作,进程还是老样子,生成元数据信息放在进程的数据结构中,也就是内存,同时在edits文件中记录下每一步操作的步骤,为什么不直接把元数据顺便保存到edits里面呢?也许是因为记录步骤成本更低,可能记录元数据还比较复杂,总之把步骤记录下来可能比较划算,就在文件中记录步骤,至少现在的机制看来是这样的。 重启,进程中的数据结构刚开始是空的是肯定的,再把之前记录到edits中的步骤,重演一遍,相当于客户端重新操作一遍,把每一步生成的元数据再次存到自己的数据结构中,也就恢复了hdfs集群的datanode分布信息。继续处理客户端的操作,没问题。 客户端新来的操作,操作步骤往这个edits里追加。 每来一个操作,namenode进程一边把操作转换生成元数据保存在自己的内存数据结构中,一遍把步骤写到edits,备份操作步骤,还是前面的以为,为什么不把元数据直接写到edits? 重启的时候,namenode进程先要做的,就是读取edits文件中的所有步骤,重新操作这些步骤,在内存中重现hdfs集群的datanode分布信息,内存的数据结构就又有元数据信息了,这样周而复始。 这样周而复始下去,操作越多edits中的步骤越多。每次进程重启,记录下来的操作步骤都重做一遍的,累死。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯