1.namenode简介
2.namenode工作特点
3.namenode工作原理
3.1.切换edits
产生一个新的edits文件
3.2.获取数据:
将fsimage与edits获取到,加载到内存(通过http协议),fsimage保存最新的checkpoint(检查点)信息
edits保存最新的检查点后的命名变化,也就是产生新的edits文件
3.3合并:
将fsimage与edits合并,这个工作由secondarynamenode完成
通常在合并之前会触发条件(1.当文件超过edits设置的默认值2.两次checkpoint(core-site.xml)的时间间隔,默认
是3600秒,1个小时),触发一个则secondarynamenode就会去合并
3.4.推送:
将合并后的文件推送给namenode
3.5.替换:
将新的合并的文件替换掉旧文件
假如客户端上传到hdfs两个文件,一段时间后,edits将不存在两个文件,因为edits每次在checkpoint时都会生成新
的,这些文件存放在fsimage中,当在上传一个文件时,这个文件存在于edits中,不存在fsimage中,这时在合并时会
合并为三个文件交给namenode去管理
4.namenode的容错:
所有的文件访问都要通过NameNode来进行,所以NameNode至关重要。一旦NameNode发生毁坏,则整个系统都
不可用。HDFS提供了两种容错机制来保证NameNode的可用性:1第一种方法是把文件元数据写入NFS,备份在另
一台机器上。备份操作是同步的,原子的。2第二种方法是运行辅助的NameNode,不过这个NameNode并不提供服
务,它只是把操作日志Merge到Metadata中,但是如果主NameNode失效,总是有一部分数据来不及Merge,会造
成数据丢失。所以一般的做法还是把NFS中备份的数据拷贝到这个NameNode,并作为主NameNode运行。