暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hadoop-NN和2NN工作机制

小胡的博客 2019-08-16
513
  1. NameNode的元数据存储在磁盘上,随机访问的话效率低下,如果放在内存中,一旦断电,元数据丢失,集群无法工作,因此产生在磁盘中备份元数据的FsImage.

  2. 这样还有一个问题,当内存数据更新,如果同时更新FsImage,会导致效率低下,如果不更新,会发生一致性问题,一旦NameNode断电,会产生数据丢失,因此引入Edits文件,追加写,效率高。通过合并FsImage和Edits生成元数据




Fsimage和Edits解析

转为XML

集群安全模式

  1. NameNode启动时,首先将文件Fsimage加载到内存,并执行编辑日志中的各项操作,一旦在内存中成功建立文件系统元数据映像,则创建一个新的fsimage和一个空的编辑日志,此时,NameNode开始监听DataNode请求,这个过程期间,NameNode处于安全模式,只读的。

  2. DataNode启动

  3. 系统中的数据块的位置并不是由DataNode维护的,而是以块列表的形式存储在DataNode中,在安全模式下,DataNode会向NameNode所有块位置的映射信息,在安全模式下,各个DataNode会向NameNode发生最新的块列表信息。

  4. 默认30秒退出安全模式,满足最小副本,每个文件至少有一个副本。


文章转载自小胡的博客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论