为什么NameNode在启动时保存在SAFEMODE中?

时间:2016-06-17 17:47:49

标签: hadoop hadoop2

我开始知道当 NameNode 启动几分钟时,它位于SAFEMODE (这意味着数据不能用HDFS写入)几分钟后有一段时间自动进入writemode,我的问题是NameNodeSAFEMODE启动时的原因

1 个答案:

答案 0 :(得分:3)

Namenode在safemode中启动,因为它必须在文件系统关闭之前重建文件系统的样子。如果它不知道文件系统的外观,它就无法对其进行任何更改。 请记住,hdfs中的文件系统基本上是重放的fsimage plus all the entries in the edit log。它将fsimage加载到内存中并从日志文件中应用编辑日志。 Namenode等待DataNodes报告其块,以便它不会过早地开始复制块。在此期间,NameNode处于安全模式,即只读模式。所有DataNode完成报告其块后,Namenode应自动离开Safemode。