Namenode学习

本文介绍了HDFS的Namenode,作为主控节点,负责存储元数据并协调文件访问。Namenode通过fsimage和edits.log保证数据可靠性。同时,详细阐述了Namenode的启动流程和Secondary Namenode的作用,后者并非备份,而是协助管理fsimage和edits.log,防止日志文件过大导致的问题。
摘要由CSDN通过智能技术生成

1 概述

HDFS是一个主从架构,其核心就是Namenode,Namenode主要作用是存储整个集群的元数据信息,包括存储文件的详细信息、每个文件的Block及副本在Datanode上的位置;Namnode还被用于协调客户端对文件的访问,记录文件的改动,以及客户端对文件的操作历史。为了节约资源,Namenode不记录客户端对HDFS中文件的查询操作。

Namenode作为HDFS中的Master,是整个系统的中枢。这就使得他必须能够及时响应各种需求,因此它里面存储的数据基本上都是存放在内存中的。但是为了保证Namenode在重启之后内存数据不丢失,Namenode实际上又在磁盘中维护了两个文件:edits.log和fsimage。

2 Namenode的启动流程

当Namenode启动的时候,会首先去指定目录下,读取两个文件edits.log和fsimage。这两个文件的作用:

  • fsimage:上一次Namenode的内存快照
  • edits.log:记录用户对HDFS上的文件的写操作

通过对这两个文件的解析,在根据这两个文件的就可以吧Namenode还原到上次停止服务前的内存状态,从而保证Namenode中存储数据的可靠性。原理还是比较简单的。

fsimage实际上就是对Namenode的一次内存快照,在Namenode运行过程中,每隔一段时间,就会对Namenode的内存打一次快照。我们知道,如果仅仅依靠这个快照,只能保障Namenode在重启后,恢复到历史中的某一时刻,在这之后的数据并不能恢复。因此为了解决这个问题,Namenode又维护了一个edits.log文件,每打一次快照之后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值