HDFS---NameNode管理元数据及HA模式

NameNode主要保存了下面的内容

1-Block和文件之间的关系,即某一个特定文件都有哪些Block;

2-每一个Block存储在什么位置(DataNode上面);

NameNode如何保证元数据的可靠性

fsimage 和内存中保存的元数据互为镜像;

edits.log中存储了一段时间内所有的元数据操作;edits.log文件大小是固定的(默认是64M),那么每当edits.log文件满了,那么将这段时间之内新产生的元数据加到fsimage中,注意这个过程不是直接在内存中持久化,而是将edits.log文件和fsiamge进行合并;由于这个合并操作会占用一定的cpu和内存资源,所以合并操作是在secondaryNameNode上面进行的。在合并期间所产生的元数据操作记录都保存在edits.new文件中,即下图的第3步。

1-客户端上传文件时,NN首先给edits.log文件中记录数据操作日志;

2-客户端得到NN返回的DN的位置,开始上传文件,完成之后返回成功信息给NN,NN就在内存中写入这次上传操作的新产生的元数据信息,并且将操作内容持久化到edits.log文件中;

3-知道edit.log文件被写满,那么开始合并;

Secondar要namenode工作流程;

1-secondary namenode通知namenode切换edits文件;

2-secondary namenode 通知namenode获得fsimage和edits文件(通过http);

3-secondary namenode通过将fsimage载入内存、然后开始合并edits;

4-secondary namenode将新的image发回给namenode;

5-namenode用新的fsimage替换就得fsimage文件;

什么时候checkpoint

1-通过配置项fs.checkpoint.period执行两次checkpoint的最大时间间隔,默认是3600;

2fs.checkpoint.size 指定edits文件的最大值,一旦超过这个最大阈值,那么就会强制触发checkpoint,无论是不是是达到最大的时间间隔。默认的大小是64M

NameNode HA模式

待续。。。。

原文地址:https://www.cnblogs.com/maxigang/p/9765416.html

时间: 2024-11-29 09:04:47

HDFS---NameNode管理元数据及HA模式的相关文章

HA 模式下的 Hadoop2.7.4+ZooKeeper3.4.10搭建

一.概述 本次实验采用VMware虚拟机,linux版本为CentOS7: 因为实验所需的5台机器配置大多相同,所以采用配置其中一台,然后使用克隆功能复制另外4份再做具体修改: 其中有些步骤以前配置过,此处就说明一下不再做具体配置,具体配置可翻阅以前的博文. 二.实验环境 1.关闭selinux和firewall 2.hadoop-2.7.4.tar.gz:zookeeper-3.4.10.tar.gz:jdk-8u131-linux-x64.tar.gz 三.主机规划 IP Host 进程 1

HDFS NameNode重启优化

http://tech.meituan.com/namenode-restart-optimization.html 一.背景 在Hadoop集群整个生命周期里,由于调整参数.Patch.升级等多种场景需要频繁操作NameNode重启,不论采用何种架构,重启期间集群整体存在可用性和可靠性的风险,所以优化NameNode重启非常关键. 本文基于Hadoop-2.x和HA with QJM社区架构和系统设计(如图1所示),通过梳理NameNode重启流程,并在此基础上,阐述对NameNode重启优化

HDFS NameNode内存详解

前言 <HDFS NameNode内存全景>中,我们从NameNode内部数据结构的视角,对它的内存全景及几个关键数据结构进行了简单解读,并结合实际场景介绍了NameNode可能遇到的问题,还有业界进行横向扩展方面的多种可借鉴解决方案. 事实上,对NameNode实施横向扩展前,会面临常驻内存随数据规模持续增长的情况,为此需要经历不断调整NameNode内存的堆空间大小的过程,期间会遇到几个问题: 当前内存空间预期能够支撑多长时间. 何时调整堆空间以应对数据规模增长. 增加多大堆空间. 另一方

HDFS NN,SNN,BN和HA

转自 http://www.linuxidc.com/Linux/2012-04/58182p3.htm 前言保证HDFS高可用是Hadoop被推广以来很多技术人员一直关心的问题,通过搜索引擎搜索也可以得到很多的方案.恰逢HDFS Federation出炉,本文将一些涉及到有关NameNode.SecondaryNameNode.BackupNode的含义与区别,以及HDFS HA框架做一个总结.除此之外,文章的最后,将介绍Hadoop-0.23.0如何配置NameNode.SecondaryN

HA模式强制手动切换:IPC&#39;s epoch [X] is less than the last promised epoch [X+1]

016-11-30 21:13:14,637 WARN org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager: Remote journal 192.168.58.183:8485 failed to write txns 54560-54560. Will try to write to this JN again after the next log roll. at org.apache.hadoop.hdfs.qjourn

HA模式下历史服务器配置

笔者的集群是 HA 模式的( HDFS 和 ResourceManager HA).在 ” Hadoop-2.5.0-cdh5.3.2 HA 安装" 中详细讲解了关于 HA 模式的搭建,这里就不再赘述.但网上直接将关于 HA 模式下的历史服务器的配置资料却很少. 笔者在思考,如果配置在 mapred-site.xml 中就设置一台历史服务器,那么当这台机器挂了,那么能不能有另一台机器来承担历史服务器的责任,也就是笔者理想当然的 jobhistory server HA 模式.后面经过各自尝试,得

Hadoop学习笔记_6_分布式文件系统HDFS --NameNode体系结构

分布式文件系统HDFS --NameNode体系结构 NameNode 是整个文件系统的管理节点. 它维护着整个文件系统的文件目录树[为了使得检索速度更快,该目录树放在内存中], 文件/目录的元信息和每个文件对应的数据块列表. 接收用户的操作请求. Hadoop确保了NameNode的健壮性,不容易死亡.文件目录树以及文件/目录的元信息等归根到底是存放在硬盘中的,但是在Hadoop运行时,需要将其加载到内存中. 文件包括: fsimage:元数据镜像文件.存储某一时段NameNode内存元数据信

Hadoop在HA模式下远程上传文件的实现

在非HA模式下,只须如下代码就可以轻松实现上传文件,标红的这句是关键 public class CopyToHDFS { public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://master:9000"); FileSystem fs = FileSyst

HDFS Namenode&amp;Datanode

HDFS Namenode&Datanode HDFS 机制粗略示意图 客户端写入文件流程: NN && DN Namenode(NN)工作机制 NN是整个文件系统的管理节点.维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表(管理元数据).接收用户的操作请求. fsimage:元数据镜像文件.存储某一时段NN内存元数据信息 edits:操作日志文件 fstime:保存最近一次checkpoint的时间 (以上文件保存在linux文件系统中) 主流程 客户