Hadoop 元数据持久化

文件系统元数据的持久化

Namenode存储HDFS的元数据。对于任何对文件元数据产生修改的操作,Namenode都使用一个称为Editlog的事务日志记录下来。例如,在HDFS中创建一个文件,Namenode就会在Editlog中插入一条记录来表示;同样,修改文件的replication因子也将往

Editlog插入一条记录。Namenode在本地OS的文件系统中存储这个Editlog。整个文件系统的namespace,包括block到文件的映射、文件的属性,都存储在称为FsImage的文件中,这个文件也是放在Namenode所在系统的文件系统上。

Namenode在内存中保存着整个文件系统namespace和文件Blockmap的映像。这个关键的元数据设计得很紧凑,因而一个带有4G内存的

Namenode足够支撑海量的文件和目录。当Namenode启动时,它从硬盘中读取Editlog和FsImage,将所有Editlog中的事务作用(apply)在内存中的FsImage

,并将这个新版本的FsImage从内存中flush到硬盘上,然后再truncate这个旧的Editlog,因为这个旧的Editlog的事务都已经作用在FsImage上了。这个过程称为checkpoint。在当前实现中,checkpoint只发生在Namenode启动时,在不久的将来我们将实现支持周期性的checkpoint。

Datanode并不知道关于文件的任何东西,除了将文件中的数据保存在本地的文件系统上。它把每个HDFS数据块存储在本地文件系统上隔离的文件中。

Datanode并不在同一个目录创建所有的文件,相反,它用启发式地方法来确定每个目录的最佳文件数目,并且在适当的时候创建子目录。在同一个目录创建所有的文件不是最优的选择,因为本地文件系统可能无法高效地在单一目录中支持大量的文件。当一个Datanode启动时,它扫描本地文件系统,对这些本地文件产生相应的一个所有HDFS数据块的列表,然后发送报告到Namenode,这个报告就是Blockreport。

原文地址:https://www.cnblogs.com/1iHu4D0n9/p/8353608.html

时间: 2024-08-02 18:27:21

Hadoop 元数据持久化的相关文章

Hadoop学习之SecondaryNameNode

在启动Hadoop时,NameNode节点上会默认启动一个SecondaryNameNode进程,使用JSP命令可以查看到.SecondaryNameNode光从字面上理解,很容易让人认为是NameNode的热备进程.其实不是,SecondaryNameNode是HDFS架构中的一个组成部分.它并不是元数据节点出现问题时的备用节点,它和元数据节点负责不同的事情. 1.SecondaryNameNode节点的用途: 简单的说,SecondaryNameNode节点的主要功能是周期性将元数据节点的命

深入Hadoop HDFS(二)

1. hdfs架构简介 1.1  hdfs架构挑战 1.2 架构简介 1.3 文件系统命名空间File System Namespace 1.4  数据复制 1.5 元数据持久化 1.6 信息交换协议 2.  hdfs数据可访问性 2.1  web interface 2.2 shell command <1>. hdfs架构简介 1.1 hdfs架构挑战 hdfs和大多数现有的分布式文件系统存在很多类似特点,但是又具有自己一些特性:具有很高的容错性highly fault-tolerant,

HDFS—Hadoop底层分布式文件存储系统

声明:本文档所有内容均在本人的学习和理解上整理,仅供参考,欢迎讨论.不具有权威性,甚至不具有精确性,也会在以后的学习中对不合理之处进行修改. 在上一篇“浅谈Hadoop inFusionInsight—华为大数据解决方案的理解”中,我重点提到了大数据的两个相较于传统数据所不同的特点——数量大和种类多.在Hadoop的底层有个非常重要的部分,我们一般称之为“核心”——分布式文件存储系统,即HDFS.我之前说过,单个服务器的内存和磁盘空间是有上限的,不可能无限支持线性增加.面对海量的大数据,单个服务

王家林的云计算分布式大数据Hadoop征服之旅:HDFS&amp;MapReduce&amp;HBase&amp;Hive&amp;集群管理

一:课程简介: 作为云计算实现规范和实施标准的Hadoop恰逢其时的应运而生,使用Hadoop用户可以在不了解分布式底层细节的情况下开发出分布式程序,从而可以使用众多廉价的计算设备的集群的威力来高速的运算和存储,而且Hadoop的运算和存储是可靠的.高效,的.可伸缩的,能够使用普通的社区服务器出来PB级别的数据,是分布式大数据处理的存储的理想选择. 本课程会助你深入浅出的掌握Hadoop开发(包括HDFS.MapReduce.HBase.Hive等),并且在此基础上掌握Hadoop集群的配置.维

HDFS——Hadoop分布式文件系统深度实践pdf

下载地址:网盘下载 <高可用性的HDFS:Hadoop分布式文件系统深度实践>专注于Hadoop分布式文件系统(HDFS)的主流HA解决方案,内容包括:HDFS元数据解析.Hadoop元数据备份方案.Hadoop Backup Node方案.AvatarNode解决方案以及最新的HA解决方案Cloudrea HA Name Node等.其中有关Backup Node方案及AvatarNode方案的内容是该书重点,尤其是对AvatarNode方案从运行机制到异常处理方案的步骤进行了详尽介绍,同时

使用Atlas进行元数据管理之Atlas简介

背景:笔者和团队的小伙伴近期在进行数据治理/元数据管理方向的探索, 在接下来的系列文章中, 会陆续与读者们进行分享在此过程中踩过的坑和收获. 元数据管理系列文章: [0] - 使用Atlas进行元数据管理之Atlas简介 [1] - 使用Atlas进行元数据管理之Glossary(术语) [2] - 使用Atlas进行元数据管理之Type(类型) 0. 当我们谈论数据治理/元数据管理的时候,我们究竟在讨论什么? 谈到数据治理,自然离不开元数据.元数据(Metadata),用一句话定义就是:描述数

HDFS概述

该文章参考 Hadoop权威指南 引言 随着数据爆炸式增长,数据的存储和分析作为一个大的难题.多年来硬盘存储容量增长的同时,访问速度-数据从硬盘读取的速度,未内与时俱进.比如1990年, 一个磁盘存储1370M需要4.4MB/s的速度,我们只需5分钟就能读取整个磁盘的 数据.20年过去了,1TB(=1024GB)级别的磁盘驱动器很正常.传输的速度在100MB/s左右, 因此需要2个半小时以上的时间才能读取整个驱动器的数据.从一个磁盘驱动器读取所有数据需要花那么长时间,写更慢.一个简单的解决方法是

平易近人、兼容并蓄——Spark SQL 1.3.0概览

摘要:DataFrame API的引入一改RDD API高冷的FP姿态,令Spark变得更加平易近人.外部数据源API体现出的则是兼容并蓄,Spark SQL多元一体的结构化数据处理能力正在逐渐释放. 关于作者:连城,Databricks工程师,Spark committer,Spark SQL主要开发者之一.在4月18日召开的 2015 Spark技术峰会上,连城将做名为"四两拨千斤--Spark SQL结构化数据分析"的主题演讲. 自2013年3月面世以来,Spark SQL已经成

HDFS架构剖析

HDFS架构核心内容: 一.NameNode/DataNode 二.数据存储副本 三.元数据持久化 四.数据模型 五.故障容错 具体讲解: 一.NameNode/DataNode HDFS采用Master/Slave架构,其集群由一个NameNode和多个DataNodes组成. NameNode是中心服务器,负责管理文件系统的名字空间(namespace)以及客户端的访问.DataNode负责管理它所在节点上的存储.用户能够通过HDFS文件系统的名字空间以文件的形式在上面存储数据. 对于内部存