`
p_3er
  • 浏览: 55687 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

HDFS基础概念

 
阅读更多

数据块(block)

HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。

和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。

不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。

NameNode和DataNode

HDFS体系结构中有两类节点,一类是NameNode,又叫"元数据节点";另一类是DataNode,又叫"数据节点"。这两类节点分别承担Master和Worker具体任务的执行节点。

1)元数据节点用来管理文件系统的命名空间

其将所有的文件和文件夹的元数据保存在一个文件系统树中。

这些信息也会在硬盘上保存成以下文件:命名空间镜像(namespace image)及修改日志(edit log)

其还保存了一个文件包括哪些数据块,分布在哪些数据节点上。然而这些信息并不存储在硬盘上,而是在系统启动的时候从数据节点收集而成的。

2)数据节点是文件系统中真正存储数据的地方。

客户端(client)或者元数据信息(namenode)可以向数据节点请求写入或者读出数据块。

其周期性的向元数据节点回报其存储的数据块信息。

3)从元数据节点(secondary namenode)

从元数据节点并不是元数据节点出现问题时候的备用节点,它和元数据节点负责不同的事情。

其主要功能就是周期性将元数据节点的命名空间镜像文件和修改日志合并,以防日志文件过大。这点在下面会相信叙述。

合并过后的命名空间镜像文件也在从元数据节点保存了一份,以防元数据节点失败的时候,可以恢复。

元数据节点目录结构

VERSION文件是java properties文件,保存了HDFS的版本号。

layoutVersion是一个负整数,保存了HDFS的持续化在硬盘上的数据结构的格式版本号。

namespaceID是文件系统的唯一标识符,是在文件系统初次格式化时生成的。

cTime此处为0

storageType表示此文件夹中保存的是元数据节点的数据结构。

namespaceID=1232737062

cTime=0

storageType=NAME_NODE

layoutVersion=-18

数据节点的目录结构

数据节点的VERSION文件格式如下:

namespaceID=1232737062

storageID=DS-1640411682-127.0.1.1-50010-1254997319480

cTime=0

storageType=DATA_NODE

layoutVersion=-18

blk_<id>保存的是HDFS的数据块,其中保存了具体的二进制数据。
blk_<id>.meta保存的是数据块的属性信息:版本信息,类型信息,和checksum
当一个目录中的数据块到达一定数量的时候,则创建子文件夹来保存数据块及数据块属性信息。

文件系统命名空间映像文件及修改日志

当文件系统客户端(client)进行写操作时,首先把它记录在修改日志中(edit log)

元数据节点在内存中保存了文件系统的元数据信息。在记录了修改日志后,元数据节点则修改内存中的数据结构。

每次的写操作成功之前,修改日志都会同步(sync)到文件系统。

fsimage文件,也即命名空间映像文件,是内存中的元数据在硬盘上的checkpoint,它是一种序列化的格式,并不能够在硬盘上直接修改。

同数据的机制相似,当元数据节点失败时,则最新checkpoint的元数据信息从fsimage加载到内存中,然后逐一重新执行修改日志中的操作。

从元数据节点就是用来帮助元数据节点将内存中的元数据信息checkpoint到硬盘上的

checkpoint的过程如下:

从元数据节点通知元数据节点生成新的日志文件,以后的日志都写到新的日志文件中。

从元数据节点用http get从元数据节点获得fsimage文件及旧的日志文件。

从元数据节点将fsimage文件加载到内存中,并执行日志文件中的操作,然后生成新的fsimage文件。

从元数据节点奖新的fsimage文件用http post传回元数据节点

元数据节点可以将旧的fsimage文件及旧的日志文件,换为新的fsimage文件和新的日志文件(第一步生成的),然后更新fstime文件,写入此次checkpoint的时间。

这样元数据节点中的fsimage文件保存了最新的checkpoint的元数据信息,日志文件也重新开始,不会变的很大了。


分享到:
评论

相关推荐

    java-Hdfs体系结构与基本概念

    Java-HDFS 体系结构与基本概念 HDFS(Hadoop Distributed File System)是一种分布式文件系统,主要用于存储和管理大规模数据。HDFS 的设计初衷是为了满足高性能、高可靠性和高可扩展性的需求。 HDFS 体系结构 ...

    hdfs源码.zip

    1.1.2 HDFS基本概念 2 1.2 HDFS通信协议 4 1.2.1 Hadoop RPC接口 4 1.2.2 流式接口 20 1.3 HDFS主要流程 22 1.3.1 HDFS客户端读流程 22 1.3.2 HDFS客户端写流程 24 1.3.3 HDFS客户端追加写流程 25 ...

    HDFS.xmind

    HDFS基础概念描述,脑图展示,易于理解与记忆,仅供学习使用。Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。

    浪潮简介HDFS

    以下是对HDFS基本概念、数据流动过程和架构设计的详细解析。 1. HDFS 基本概念 - 数据块(Block):HDFS以固定大小的数据块为单位存储文件,默认数据块大小为64MB。文件内容被分割成若干个数据块,分别存储在不同...

    Hadoop学习总结之一:HDFS简介

    HDFS 基本概念和架构 HDFS(Hadoop Distributed File System)是 Hadoop 生态系统中的一个核心组件,负责存储和管理大规模数据。下面是 HDFS 的基本概念和架构: 数据块(Block) HDFS 中的基本存储单位是 64M 的...

    Hadoop 培训课程(2)HDFS

    Hadoop 培训课程(2)HDFS ...HDFS体系结构与基本概念*** HDFS的shell操作*** java接口及常用api*** ---------------------------加深拓展---------------------- RPC调用** HDFS的分布式存储架构的源码分析**

    HDFS简介.pdf

    ### HDFS基本概念详解 #### 1.1 数据块(Block) HDFS(Hadoop Distributed File System)中的数据块是其最基本的存储单位,默认情况下每个数据块的大小为64MB。与传统的文件系统类似,HDFS将文件划分为多个数据块...

    hadoop日记2.1:hdfs设计思想和基础概念

    ### HDFS设计思想与基础概念 #### 概念与应用场景 **HDFS(Hadoop Distributed File System)** 是一种分布式文件系统,具有高容错性的特点,并且旨在部署于成本较低的硬件之上。HDFS提供了高吞吐量访问应用程序...

    搭建hadoop后hdfs基本操作 ecplisec操作

    首先,我们要理解HDFS的基本概念。HDFS是一种分布式文件系统,它将大型文件分割成块,并将这些数据块分散存储在集群中的多台服务器上,确保数据的冗余和可靠性。这种设计使得HDFS能够处理PB级别的数据,同时保持高...

    Hadoop中一些hdfs的命令

    #### 一、HDFS基本概念 Hadoop是一个能够对大量数据进行分布式处理的软件框架,它支持大规模数据集的分布式处理,是大数据技术领域的重要组成部分。Hadoop的核心组件之一是HDFS(Hadoop Distributed File System)...

    大数据与云计算培训学习资料 Hadoop集群 细细品味Hadoop_第8期_HDFS初探之旅 共29页.pdf

    【大数据与云计算培训学习资料 ...综上所述,这份资料详细介绍了HDFS的基本概念、架构以及工作流程,是学习和理解Hadoop分布式文件系统的重要参考资料,尤其对于大数据处理和云计算环境中的数据存储管理有重要价值。

    分布式文件系统hdfs - 副本.zip

    HDFS基本概念 HDFS是一种基于块存储的分布式文件系统,将大文件分割成固定大小的块(默认为128MB),并将其分布在不同的节点上。每个文件块通常都有多个副本,以提高数据可用性和容错性。 ### 2. HDFS架构 HDFS...

    给公司研发部门培训的HDFS的PPT文档及问题答疑

    在这个培训材料中,我们有两个PPT文档,分别是“Hadoop - HDFS Basic.pptx”和“Hadoop - HDFS Design.pptx”,它们将深入探讨HDFS的基本概念和设计原理。** ### HDFS基本概念 **1. 分布式存储:**HDFS将大型文件...

    使用Java API操作HDFS分布式文件系统

    1. **HDFS基本概念** - **NameNode**:HDFS的主节点,负责管理文件系统的命名空间和元数据,如文件名、文件块信息等。 - **DataNode**:存储实际数据的从节点,执行数据读写操作。 - **Block**:HDFS将大文件分割...

    HDFS分布式文件系统-任务3.pdf

    ### HDFS基本概念 1. **NameNode**:管理元数据,包括文件系统命名空间和文件的块映射信息。 2. **DataNode**:存储实际的数据块,执行数据读写操作。 3. **Block**:文件被分割成固定大小的数据块,默认为128MB或...

    apache_hdfs_broker.tgz

    本文将深入探讨HDFS的基础知识以及与Broker相关的概念。 **1. HDFS的基本原理** HDFS是基于Google的GFS(Google File System)设计的开源文件系统,属于Hadoop生态系统的一部分。它将大文件分割成块(通常为128MB...

    Hadoop-HDFS-实践教程

    Hadoop-HDFS实践教程会引导初学者了解HDFS的基本概念和架构,讲解如何安装和配置Hadoop以及HDFS,并展示如何使用HDFS进行数据的存储和访问。此外,教程还会介绍如何通过Java API来操作HDFS,例如:如何读写文件、...

    HDFS详细讲解 word

    本文将深入讲解HDFS的核心概念、工作原理以及常用的操作方法。 首先,HDFS的核心组件主要包括NameNode和DataNode。NameNode作为元数据管理节点,存储文件系统的元数据,如文件名、文件位置等。DataNode则是数据存储...

    《HDFS——Hadoop分布式文件系统深度实践》PDF

    1. HDFS的基本概念和架构:介绍NameNode、DataNode、Secondary NameNode等组件的角色和功能。 2. 文件系统操作:如文件创建、打开、读写、删除等,以及HDFS命令行工具的使用。 3. HDFS的副本策略和容错机制:如何...

Global site tag (gtag.js) - Google Analytics