热门标签 | 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上面,而不是客户端数据传过来时就进行备份,这样多消耗性能啊。

 

 

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


推荐阅读
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 在Linux系统中,为了提高安全性,可以通过设置命令执行超时和用户超时注销来防止因用户长时间未操作而带来的安全隐患。具体而言,可以通过编辑 `/etc/profile` 文件,添加或修改相关参数,确保用户在指定时间内无操作后自动注销。此外,还可以利用 `timeout` 命令来限制特定命令的执行时间,进一步增强系统的稳定性和安全性。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 在IIS上运行的WebApi应用程序在开发环境中能够正常进行文件的读写操作。然而,在尝试通过FTP访问实时服务器上的文件列表时,遇到了无法显示的问题,尽管服务器配置与开发环境相同。这可能涉及权限设置、FTP服务配置或网络连接等方面的问题。 ... [详细]
  • MySQL索引详解及其优化策略
    本文详细解析了MySQL索引的概念、数据结构及管理方法,并探讨了如何正确使用索引以提升查询性能。文章还深入讲解了联合索引与覆盖索引的应用场景,以及它们在优化数据库性能中的重要作用。此外,通过实例分析,进一步阐述了索引在高读写比系统中的必要性和优势。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • Go 项目中数据库配置文件的优化与应用 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • sh cca175problem03evolveavroschema.sh ... [详细]
  • Phoenix 使用体验分享与深度解析
    闲来无事看了下hbase方面的东西,发现还好理解不过不大习惯于是找到个phoenix感觉不错性能指标如下好像还不错了准备工作:启动hadoop集群启动zookkeeper启动hba ... [详细]
  • Hadoop——实验七:MapReduce编程实践
    文章目录一.实验目的二.实验内容三.实验步骤及结果分析 1.基于ubuntukylin14.04(7)版本,安装hadoop-eclipse-kepler-plugi ... [详细]
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社区 版权所有