NameNode详解

目录

 

1、NameNode的功能

2、 NameNode 启动过程

3、 NameNode元数据管理

4、 安全模式


1、NameNode的功能

  • 负责客户端请求的响应

  • 元数据的管理(查询,修改)

2、 NameNode 启动过程

  • NameNode启动的时候首先将fsimage(镜像)载入内存,并执行(replay)编辑日志editlog的的各项操作

  • 一旦在内存中建立文件系统元数据映射,则创建一个新的fsimage文件(这个过程不需SecondaryNameNode) 和一个空的editlog

  • 在安全模式下,各个datanode会向namenode发送块列表的最新情况

  • 此刻namenode运行在安全模式。即NameNode的文件系统对于客户端来说是只读的。(显示目录,显示文件内容等。写、删除、重命名都会失败)

  • NameNode开始监听RPC和HTTP请求

    解释RPC:RPC(Remote Procedure Call Protocol)——远程过程通过协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议

  • 系统中数据块的位置并不是由namenode维护的,而是以块列表形式存储在datanode中

  • 在系统的正常操作期间,namenode会在内存中保留所有块信息的映射信息

NameNode详解_第1张图片

3、 NameNode元数据管理

NameNode详解_第2张图片

  • NameNode两个重要文件

    • fsimage:元数据镜像文件(保存文件系统的目录树)

    • edits:元数据操作日志(针对目录树的修改操作)

  • 元数据镜像

    • 内存中保存一份最新的

    • 内存中镜像=fsimage+edis

  • 定期合并fsimage与edits

    • Edits文件过大将导致NameNode重启速度慢

    • Secondary Namenode负责定期合并他们

NameNode详解_第3张图片

  1. Secondary NN通知NameNode切换editlog。

  2. Secondary NN从NameNode 获得fsimage和editlog(通过http方式)。

  3. Secondary NN将fsimage载入内存,然后开始合并editlog。

  4. Secondary NN 将新的fsimage发回给NameNode NameNode 用新的fsimage替换旧的fsimage

4、 安全模式

​ 安全模式下,集群属于只读状态。但是严格来说,只是保证HDFS元数据信息的访问,而不保证文件的访问,因为文件的组成Block信息此时NameNode还不一定已经知道了。所以只有NameNode已了解了Block信息的文件才能独到。而安全模式下任何对HDFS有更新的操作都会失败。

​ 对于全新创建的HDFS集群,NameNode启动后不会进入安全模式,因为没有Block信息。

安全模式相关命令

  • 查询当前是否安全模式

hadoop dfsadmin -safemode get
	Safe mode is ON

等待safemode关闭,以便后续操作

hadoop dfsadmin -safemode wait

退出安全模式

hadoop dfsadmin -safemode leave

设置启用safemode

hadoop dfsadmin -safemode enter

 

你可能感兴趣的:(文档,hadoop,HDFS,Hadoop)