我了解到,当namenode启动几分钟后,它就处于 SAFEMODE (这意味着数据不能在hdfs中写入)几分钟后,有时会自动转到writemode,我的问题是为什么 NameNode 在下面 SAFEMODE 启动时
SAFEMODE
NameNode
ff29svar1#
namenode是在安全模式下启动的,因为它必须在文件系统崩溃之前重建它的样子。如果它不知道文件系统是什么样子,它就不能对其进行任何更改。请记住,hdfs中的文件系统本质上是 fsimage 加上 edit log 重播。它加载 fsimage 并应用日志文件中的编辑日志。namenode等待datanodes报告它们的块,以便它不会过早地开始复制这些块。在此期间,namenode处于安全模式,即只读模式。namenode应在所有datanode完成其块的报告后自动离开safemode。
fsimage
edit log
1条答案
按热度按时间ff29svar1#
namenode是在安全模式下启动的,因为它必须在文件系统崩溃之前重建它的样子。如果它不知道文件系统是什么样子,它就不能对其进行任何更改。请记住,hdfs中的文件系统本质上是
fsimage
加上edit log
重播。它加载fsimage
并应用日志文件中的编辑日志。namenode等待datanodes报告它们的块,以便它不会过早地开始复制这些块。在此期间,namenode处于安全模式,即只读模式。namenode应在所有datanode完成其块的报告后自动离开safemode。