1、HDFS原理
1、三大组件(NameNode、DataNode、SecondaryNameNode)
2、NameNode
a、作用:存储元数据(文件名、创建时间、大小、权限、文件与block块映射关系)
b、数据存储目录:dfs.namenode.name.dir
3、DataNode
a、作用:存储真是的数据信息
b、数据存储目录:dfs.datanode.data.dir
c、block块:默认128M,通过dffs.blockzize设置
d、副本策略:1、默认3个副本,通过dfs.replication配置
                      2、存放形式
                              I、如果客户端在集群中,第一个副本放到客户端机器上;否则第一个副本随即挑选一个不忙的机器
                              ii、第二个副本放到和第一个副本不同的机架上的一个服务器上
                              iii、第三个副本放到和第二个副本相同机架不同服务器上
                              iiii、如果还有更多副本,就随即存放

4、SecondaryNameNode
a、作用:减轻NameNode压力,将edits编辑日志文件和fsimage镜像文件进行合并

NameNode补充:
数据存储在hdfs-site.xml的dfs.namenode.name.dir属性配置中
1、fsimage:镜像文件,存储某段时间内存元数据信息和文件与Block块的映射关系(NameNode第一映射关系)
2、edits:编辑日志文件
3、seen_txid:操作事物id
4、VERSION:存储命名空间ID、集群ID等信息

多次格式化namenode的问题原因解释
       hdfs格式化会改变VERSION文件中的clusterID,首次格式化datanode和namenode会产生相同的clusterID;如果重新执行格式化,namenode的clusterID改变,就会与datanade的cclusterID不一致,如果重新启动或读写hdfs就会挂掉。

解释镜像文件:

镜像是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像,常见的镜像文件格式有ISO、BIN、IMG、TAO、DAO、CIF、FCD。

DataNode和NameNode之间通讯:

NameNode和secondaryNameNode通讯机制:

SecondaryNameNode(SNN)执行流程
SNN周期性地向NN发送请求,NN申城一个新的edits文件
NN将edits文件和fsimage文件发送给SNN
SNN将fsimage文件加载到内存,合并edits文件,生成新的fsimage.ckpt文件
SNN将新的faimage.ckpt文件发给NN
NN用新的fsimage.ckpt代替旧的fsimage文件,重命名edits.new为edits文件 

HDFS的写流程:

HDFS的读流程:

HDFS读取流程:
1、client客户端向远程NN发送RPC请求
2、NN查找文件对应的block块及存放的DN地址,返回给Client端
3、Client端以pipeline的方式从DN中读取各个block块数据
4、Client端读取block块后,使用校验和验证,判断block是否损坏。如果损坏,读取另外DN上的数据;如果没有损坏,通知NN,继续下一个block块读取 

 安全模式:

含义:客户端只能进行查看,不能进行写入、删除操作
作用:NN启动后进入安全模式,检查数据块和DN的完整性,
达到下面三个条件就退出安全模式

​​​​​​​

Hadoop之深入HDFS原理<一>相关推荐

  1. Hadoop分布式文件系统——HDFS原理简介

    阅读前必看 这篇文章与其说是一篇文章,不如说是一篇在家学习的笔记,其中大部分内容来自于github上一个大神的开源笔记,在此附上链接,表达版权所属以及敬意:github源地址 一.介绍 HDFS(Ha ...

  2. Hadoop分布式文件系统HDFS的工作原理详述

    Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数据访问,非常适合大规模数据集上的应 ...

  3. Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理

    <Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理> 基本信息 作者: 蔡斌 陈湘萍 出版社:机械工业出版社 ISBN:9787111417668 上架 ...

  4. Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    编者按:HDFS和MapReduce是Hadoop的两大核心,除此之外Hbase.Hive这两个核心工具也随着Hadoop发展变得越来越重要.本文作者张震的博文<Thinking in BigD ...

  5. Hadoop 分布式文件系统 - HDFS

    当数据集超过一个单独的物理计算机的存储能力时,便有必要将它分不到多个独立的计算机上.管理着跨计算机网络存储的文件系统称为分布式文件系统.Hadoop 的分布式文件系统称为 HDFS,它 是为 以流式数 ...

  6. HDFS 原理、架构与特性介绍--转载

    原文地址:http://www.uml.org.cn/sjjm/201309044.asp 本文主要讲述 HDFS原理-架构.副本机制.HDFS负载均衡.机架感知.健壮性.文件删除恢复机制 1:当前H ...

  7. Hadoop分布式文件系统--HDFS结构分析

    前言 在Hadoop内部,详细实现了很多类的文件系统,当然最最被我们用到的就是他的分布式文件系统HDFS了. 可是本篇文章不会讲HDFS的主从架构等东西,由于这些东西网上和资料书中都讲得非常多了. 所 ...

  8. 漫画讲解HDFS原理

    HDFS简介 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式 ...

  9. Hadoop 系列之 HDFS

    Hadoop 系列之 HDFS 花絮 上一篇文章 Hadoop 系列之 1.0和2.0架构 中,提到了 Google 的三驾马车,关于分布式存储,计算以及列式存储的论文,分别对应开源的 HDFS,Ma ...

最新文章

  1. ajax用户登录模块,ajax用户注册模块
  2. 面试官:关于Spring就问这13个
  3. 智能工厂的关键:基于机器学习的工业视觉
  4. Kingdee v7.0账套修复
  5. Android学习笔记18-自定义Seekbar拖动条式样
  6. git统计每个人的代码行数_项目出了bug如何甩锅?使用这个Git工具帮你找到元凶...
  7. [loj2087][NOI2016]国王饮水记
  8. 【SR汇总】基于深度学习方法
  9. eddystone_超级计算机上的Linux,Google的Eddystone和更多新闻
  10. 荣耀V40将采用300Hz 触控采样率,1月18日正式发布!
  11. python手写数字识别实验报告_python实现识别手写数字 python图像识别算法
  12. 我是学渣,但是我零基础自学web前端成功了
  13. [转贴]什么计算机语言最有前途
  14. Linux kernel路由机制分析(上)
  15. matlab 中的textscan
  16. 4246. 【五校联考6day2】san
  17. 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发教程(一)-体验篇...
  18. App原型图设计工具使用对比
  19. 预防甲型流感病毒的注意事项和方法
  20. 风光储交直流微电网matlab/simulink仿真模型仿真模型

热门文章

  1. (转)Vue 爬坑之路(四)—— 与 Vuex 的第一次接触
  2. [安卓]AndroidManifest.xml文件简介及结构
  3. ie6不支持png图片的解决办法
  4. TabBar与下拉列表访问数据与刷新
  5. C++ 线程同步 (学习笔记)
  6. 案例:实现用户注册功能
  7. python去重计数_用Python实现透视表的value_sum和countdistinct功能
  8. c 语言中 十六进制数表达,c – 如何解释像0x0A这样的十六进制数?
  9. python从零开始到放弃_Python 协程从零开始到放弃
  10. jmail mysql_利用VB+jmail发送邮件源码