热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

工作机制_hadoopnamenodedatanodehdfs工作机制

篇首语:本文由编程笔记#小编为大家整理,主要介绍了hadoopnamenodedatanodehdfs工作机制相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了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上面,而不是客户端数据传过来时就进行备份,这样多消耗性能啊。

 

 

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


推荐阅读
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 本文_大数据之非常详细Sqoop安装和基本操作
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据之非常详细Sqoop安装和基本操作相关的知识,希望对你有一定的参考价值。大数据大数据之 ... [详细]
  • Zookeeper 总结与面试题汇总
    Zookeeper总结与面试题汇总,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
冷向泽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有