【大数据Hadoop】HDFS3.3.1-Namenode系列源码阅读

news/2024/5/20 4:29:27 标签: hadoop, hdfs, 大数据

Namenode功能

  • 前言
    • 文件系统目录树
    • 数据块管理
    • Datanode管理
    • 租约管理
    • 缓存管理

前言

HDFS集群是以Master/Slave模式运行的,主要有两类节点:Namenode和Datanode。其中Namenode是HDFS的主节点。

对于 Namenode 的功能,主要有如下几点:

  • 文件系统目录树管理
    HDFS 的目录和文件在内存中是以一颗树的形式存储的。这个目录树结构是由 Namenode 维护的,Namenode 会修改这个树形结构以对外提供增删改查文件的操作功能。文件系统目录树上的节点还保存了HDFS文件与数据块的对应关系,我们知道HDFS中的每个文件都是被拆分成若干数据块冗余存放的,文件与数据块的对应关系也是由 Namenode 维护的。
  • 数据块以及 Datanode 节点管理
    HDFS中的数据块是冗余备份在集群中的 Datanode 节点上,所以Namenode 还需要维护数据块与 Datanode 节点之间的对应关系。这里的对应关系包括两个部分:
    • 数据块存放在哪些Datanode节点上
    • 一个Datanode节点上保存了哪些数据块。
  • 租约管理
    租约是Namenode给予租约持有者(LeaseHolder,一般是 HDFS 客户端)在规定时间内拥有文件权限(写文件)的合同,Namenode 会执行租约的发放、回收、检查以及恢复等操作。
  • 缓存管理
    集中式缓存管理功能允许用户将一些文件和目录保存到 HDFS 缓存中。HDFS 的集中式缓存是由分布在 Datanode 上的堆外内存组成的,并且由Namenode 统一管理。
  • FSNamesystem
    Namenode 涉及很多 HDFS 的处理逻辑,例如读文件、写文件、追加写文件等。Namenode 的 FSNamesystem 类是管理这些逻辑的门面类,也是Namenode 中最重要的一个类。
  • Namenode的启动和停止
    HA集群中会存在两种状态的 Namenode:Active/Standby作为热备节点。Namenode 在启动时会先进入安全模式,在安全模式中的 Namenode 不会接受客户端对命名空间的修改。Namenode 成功启动后会离开安全模式进入到 Standby 状态

文件系统目录树

数据块管理

Datanode管理

租约管理

大数据Hadoop】HDFS-Namenode-租约管理

缓存管理

大数据Hadoop】HDFS3.3.1-Namenode-缓存管理

本文内容结合自 《Hadoop 2.X HDFS 源码剖析》以及自己的理解

希望对正在查看文章的您有所帮助,记得关注、评论、收藏,谢谢您


http://www.niftyadmin.cn/n/233707.html

相关文章

4K高清修复,模糊视频4k修复是怎么实现的?

在当今数字时代,高分辨率视频已成为大众观影的标配。4K分辨率作为其中高端的选项,提供了比传统1080p高出四倍的细节和清晰度,使得观众们能够更加身临其境地享受影视作品。然而,有时候我们可能会遇到4K视频质量不佳的问题&#xff…

【大数据之Hadoop】十四、MapReduce之Combiner合并

Combiner是Mapper和Reducer之间的组件,其组件的父类是Reducer。 Combiner和Reducer的区别: Combiner是运行在每一个MapTask所在的节点,即对每一个MapTask的输出进行局部汇总,减少网络传输量。 Reducer则是接收全局是Mapper的输出…

计算机组成原理/数据库补充 存储器第四章---虚拟内存

刚刚数据库下课讲了很多有关虚拟内存的东西感觉很多都忘了,现在写这篇文章来复习一下 为什么要引入虚拟内存 在计算机系统中,多个进程共享CPU和内存, 如果太多的进程需要过多的内存空间,那么其中一部分进程就会无法或得足够得空…

AOSP编译速通指南

最近有编译AOSP系统的需求,于是学习着如何编译了AOSP源码,时效性为文章发布日 使用的机器环境如下: CPU:i7-1170KvRAM:32GvOS:Ubuntu 20.04vDisk:500G 强烈建议在编译AOSP的时候提供充足的磁盘…

【ApiPost】实现【gRPC】调试【上手篇】

ApiPost下载地址 下载中心-Apipost-中文版接口调试与文档管理工具Apipost官方下载中心为您提供Apipost软件最新版本,其中包括Windows、Mac、Linux等多个客户端的安装包,Apipost下载就上Apipost.cn,国内专业的接口测试软件,一键生成API文档。https://www…

鲸鱼算法原理

%参数初始化,初始时主要设置代理数量和最大迭代次数即可,其他算法相关的参数因为和当前迭代次数相关,需要在迭代中设置。 clc;clear; dim2;%变量的维数 SearchAgents_no30; % 搜索代理数量,种群中个体个数 Max_iteration500; % 最大迭代次数 …

Linux驱动开发 IO模型:多路复用(select/poll/epoll)

目录 1、IO多路复用模型是什么 2、应用程序 2.1 select 2.1.1 select的特点 2.1.2 select的使用 2.1.3 fd_set操作函数 2.1.4 fd_set表的结构 2.1.5 应用程序:监听两个文件 2.2 poll 2.2.1 poll 的特点 2.2.2 poll的使用 2.2.3 应用程序:监…

一文读懂【Git 工作流】

文章目录一、Git分支管理二、Git日志规范三、Git Flow工作流一、Git分支管理 我们在实际工作中会创建很多分支以便于不同场景下的开发,但是如果没有分支规范就会造成分支杂乱,大家往往也搞不清楚某一个分支是在做什么,下面我们就介绍一下我们…