1.什么是名称节点
在HDFS中,名称节点负责管理分布式文件系统的命名空间(Namespace),保存了两个核心的数据结构-FsImage和EditLog。
名称节点记录了每个文件中各个块所在的数据节点的位置信息,但并不持久化存储这些信息,而是在系统每次启动时扫描所有数据节点重构得到这些信息。
2.名称节点工作过程
名称节点启动时,会将FsImage的内容加载到内存当中,然后执行EditLog文件中的各项操作,使得内存中的元数据保存最新。这个操作完成后,就会创建一个新的FsImage文件和一个空的EditLog文件。名称节点启动成功并进入正常运行状态以后,HDFS中的更新操作都会被写入到EditLog,而不是直接写入FsImage(文件大,直接写入系统会变慢)。
名称节点在启动的过程中处于“安全模式”,只能对外提供读操作。启动结束后,则进入正常运行状态,对外提供读写操作。
二、第二名称节点(Secondary NameNode)
1.功能
在名称节点运行期间,EditLog文件由于操作不断发生会逐渐变大,为解决逐渐变大带来的问题,故采用了第二名称节点。
2.工作过程
HDFS设计中,并不支持把系统直接切换到第二名称节点,从这角度,第二名称节点只是起到名称节点“检查点”的作用,并不能起到“热备份”作用。即使有了第二名称节点的存在,当名称节点发生故障时,系统还是有可能会丢失部分元数据信息。
Reference:
dblab.xmu.edu.cn
学习交流,有任何问题还请随时评论指出交流。
原文:https://www.cnblogs.com/rango-lhl/p/14403776.html