hadoop namenode datanode hdfs工作机制

  大家都知道namenode是hadoop中的一个很重要的节点,因为他存在着跟datanode的交互跟客户端的交互,存储着dotanode中的元数据,所以就很想学习他们是如何沟通并能保证数据在任何情况下都不会丢失那?

  namenode的作用:

  1.维护元数据信息。

  2.维护hdfs的目录树。

  3.相应客户端的请求。

  我们先来看一下namenode大致的工作流程

   可以看到namenode这边里面有三个存储单位,edits文件,edits.new 文件 ,fsimage文件,还有内存。

  edits文件默认为64M

  1.首先当edits文件64M存满时,namenode就会通知secondNode进行checkpoint操作,告诉他我的edits文件满了。

  2.secondNode就会回复你,文件满了就不要往edits文件写数据了呗,你在新建一个editsNew文件先往那里面写,你把fsimage跟edits文件给我吧。

  3.namenode听到了secondNode的话后,哦了一声,那给你吧。second Node就去下载过来。

  4.然后在secondNode里面来对两个文件进行合并成一个新的文件fsimage.chkpoint.

  5.secondNode就告诉namenode这两个合并好了给你吧,namenode紧忙点头把合并好的文件拿了过来,当宝贝是的锁了起来。

  6.namenode一看这个edits文件没用了啊,于是就给删除了,开始用edits.new文件并重命名为edits文件。

  这就是一个namenode的工作机制,在这样的情况下,还是出现什么问题都能正常的跑,并且在不耽误使用的情况下。

  但是如果是namenode当机了,那怎么办,相当与整个hadoop也就崩了。这个也就用到了hadoop的新机制HA,在这里不详细讲解,这个问题会留到HA那篇文章上写。

  

  datanode那就没什么好说的了,就是一个存储 blk 块的服务器

  然后我们在看一下hdfs的整个工作机制就能看明白了。

  

  1.首先client会访问namenode看一下有没有这个文件,然后在告诉client有还是没有。

  2.我接收到信息他说没有,那没有的话我可就要给你扔东西了,于是我把文件就往dataNode上面扔。

  3.这个时候dataNode默认大写是128M,也就是说,你有一个300M的文件他会给你分成两份,按照128M去分,分别放到不同的dataNode中。

  这样就可以了,可是想一个问题,万一我有一台dataNode当机了,也就相当于里面的数据我取不出来了,而dataNode是把文件分成了块,如果当机 了也就相当于我一大部分数据就毁了,所以怎么办那,嘿嘿,我们继续

  4.dataNode会对这个文件进行备份,然后在分别放到不同的dataNode上面,而不是客户端数据传过来时就进行备份,这样多消耗性能啊。

  好了,这就结束了,我也是个小学徒,如果有错误还请大家指教。

原文地址:https://www.cnblogs.com/syw-01/p/8203227.html

时间: 2024-11-05 06:09:19

hadoop namenode datanode hdfs工作机制的相关文章

【待完成】[HDFS_3] HDFS 工作机制

0. 说明 HDFS 初始化文件系统分析 && HDFS 文件写入流程 && HDFS 文件读取流程分析 1. HDFS 初始化文件系统分析 通过两个配置文件 core-site.xml 和 core-default.xml 初始化 configuration 通过配置文件中的 fs.defaultFS 指定的值初始化文件系统 file:/// =====> org.apache.hadoop.hdfs.LocalFileSystem hdfs://xxxx ====

HDFS Namenode&Datanode

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

Hadoop_10_HDFS 的 DataNode工作机制

1.DataNode的工作机制: 1.DataNode工作职责:存储管理用户的文件块数据  定期向namenode汇报自身所持有的block信息(通过心跳信息上报) (这点很重要,因为,当集群中发生某些block副本失效时,集群如何恢复block初始副本数量的问题) 2.配置文件: <property> <name>dfs.blockreport.intervalMsec</name> <value>3600000</value> <des

Hadoop分布式文件系统HDFS

HDFS的探究: HDFS HDFS是 Hadoop Distribute File System的缩写,是谷歌GFS分布式文件系统的开源实现,Apache Hadoop的一个子项目,HDFS基于流数据访问模式的分布式文件系统,支持海量数据的存储,允许用户将百千台组成存储集群,HDFS运行在低成本的硬件上,提供高吞吐量,高容错性的数据访问. 优点 可以处理超大文件(TB.PB). 流式数据访问 一次写入多次读取,数据集一旦生成,会被复制分发到不同存储节点上,响应各种数据分析任务请求. 商用硬件

Hadoop详解 - HDFS - MapReduce - YARN - HA

为什么要有Hadoop? 从计算机诞生到现今,积累了海量的数据,这些海量的数据有结构化.半结构化.非 结构的数据,并且这些海量的数据存储和检索就成为了一大问题. 我们都知道大数据技术难题在于一个数据复杂性.数据量.大规模的数据计算. Hadoop就是为了解决这些问题而出现的. Hadoop的诞生 Doug Cutting是Lucene的作者,当时Lucene面临和谷歌同样的问题,就是海量的数据存储和检索,于是就诞生了Nutch. 在这之后,谷歌的大牛就为解决这个问题发了三篇论文(GFS.Map-

【基础组件10】hadoop拓展(三)NameNode工作机制

一.Hadoop NameNode详解 参考: https://blog.csdn.net/lb812913059/article/details/78713634   (主要看这篇即可) https://blog.csdn.net/u010846741/article/details/52369527 NameNode在内存中保存着整个文件系统的名字空间和文件数据块的地址映射(Blockmap).如果NameNode宕机,那么整个集群就瘫痪了 整个HDFS可存储的文件数受限于NameNode的

HDFS中DataNode工作机制

1.DataNode工作机制 1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据(包括数据块的长度,块数据的校验和,以及时间戳). 2)DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息. 3)心跳是每3秒一次,心跳返回结果带有namenode给该datanode的命令如复制块数据到另一台机器,或删除某个数据块.如果超过10分钟没有收到某个datanode的心跳,则认为该节点不可用. 4)集

十、HDFS的namenode工作机制

[TOC] 一.fsimage和edits文件 1.基本概念 txid:namenode对每个操作事件(增删改操作)都给了一个唯一的id标识,称为txid,一般是从0开始自增,每多一个操作,txid就自增1. fsimage:是namenode在内存中的元数据在本地磁盘的一个镜像文件,但是通常情况fsimage并没有包含自新的操作事件,所以本质上和内存中元数据还是有差距的.这里记录的不是操作日志,其中包含HDFS文件系统的所有目录和文件idnode的序列化信息.一般命名方式是fsimage_tx

hadoop[4]-hdfs分布式文件系统的基本工作机制

一.Namenode 和 Datanode HDFS采用master/slave架构.一个HDFS集群是由一个Namenode和一定数目的Datanodes组成.Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问.集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储.HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据.从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上.Name