HDFS设计目标

1)硬件错误是常态,数据保存需要冗余。

2)数据批量读取,Hadoop擅长数据分析而不是事务处理。

3)大规模数据集。

4)简单一致醒模型,降低系统复杂度,文件一次写入多次读取,

5)“数据就近”原则分配数据节点。

HDFS体系结构

NameNode

DataNode

SecondayNameNode

事务日志

映像文件

NameNode

文件系统命名空间

记录每个文件系统数据块在各个DataNode上的位置和副本信息。

协调Client对文件的访问

记录命名空间内的改动

NameNode使用事务日志记录HDFS元数据的变化。使用映像文件存储文件系统的命名空间,文件映射,文件属性等。

DataNode

负责物理节点的存储管理

一次写入,多次读取(不修改)。

文件由数据块(block)组成默认为64MB。

Block应尽量分配在不同的物理节点上。

HDFS读取流程

Client要访问HDFS上的一个文件

1)从NN获取组成这个文件的block位置列表。

2)更具列表知道存储数据快的dn。

3)访问dn获取数据。

4)NN并不参与数据实际传输。

HDFS如何保证集群当中的数据存储可靠性

1)冗余副本

2)机架策略

3)心跳机制

4)安全模式

5) 快照机制

冗余副本

Hdfs默认每个block三个副本(不足三分制动),dn启动时,向nn汇报各数据快信息。

机架策略

集群一般放在不同机架上,

HDFS“机架感知”

一般第一个副本存放在上穿文价的本机架上,如果是本集群外提交,则随机挑选磁盘不太满,cpu不太忙的节点存储。

第二个副本放在与第一个机架不同的节点上,

第三个副本放在与第二个副本相同的节点上。

更多副本:随机。

心跳机制

NN周期从dn接收心跳信息和block报告(3秒一次)

NN根据block报告验证元数据

没按时发送心跳(10分钟)的dn则认为已经lost,并copy其上的block到其他DN。

安全模式

NN启动时会经过“安全模式”阶段

安全模式阶段不会产生写操作,只执行写操作

次阶段NN收集NN的报告,当block达到最小副本数以上时,会被认

为是“安全”的, 当block未达到最小副本数时,该块会被复制知道达到安全。

回收站

删除文件时,将文件放入回收站。

回收站里文件可以快速恢复。

当达到一定阀值时,就被彻底删除,释放占用block。

快照

支持某一时间点的映像,需要时是数据重返这个时间点。

转载于:https://www.cnblogs.com/kxgdby/p/1faccacd3a30fab27af5b7ff60cfeb52.html

HDFS分布式文件系统设计思想相关推荐

  1. HDFS分布式文件系统设计原理

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

  2. 一幅长文细学华为MRS大数据开发(二)——HDFS分布式文件系统和ZooKeeper

    文章目录 2 HDFS分布式文件系统和ZooKeeper 2.1 HDFS概述以及应用场景 HDFS概述 HDFS应用场景 HDFS不适合的场景 2.2 HDFS相关概念 计算机集群结构 基本系统架构 ...

  3. HDFS分布式文件存储系统

    1. Hadoop是什么 1.1 Hadoop架构 Hadoop由三个模块组成:分布式文件存储HDFS.分布式计算MapReduce.资源调度引擎Yarn 1.2 分布式是什么 分布式:利用一批通过网 ...

  4. HDFS分布式文件存储系统详解

    HDFS简介 一.HDFS:Hadoop Distributed File System 1. 一个分布式文件系统             2. 基于流数据模式访问和处理超大文件的需求而开发的     ...

  5. FastDFS分布式文件系统设计原理

    FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题 ...

  6. HDFS分布式文件系统理论知识

  7. day36~37_HDFS分布式文件存储系统

    HDFS分布式文件存储系统 一.HDFS概述 (一)HDFS产生背景 随着数据量越来越大,在一个文件系统下无法存储海量数据,普通硬件支持的操作系统即使扩展磁盘也会遇到瓶颈,迫切需要水平横向扩展来解决数 ...

  8. Hadoop三大组件之分布式文件操作系统HDFS实现原理及编程

    文章目录 HDFS---分布式文件系统 分布式文件系统简介 HDFS相关概念 HDFS体系结构 HDFS命名空间 HDFS存储原理 HDFS数据读写过程 读的过程-JAVA代码 写入文件-JAVA代码 ...

  9. 一图看懂hadoop分布式文件存储系统HDFS工作原理

    一图看懂hadoop分布式文件存储系统HDFS工作原理 转载于:https://www.cnblogs.com/AlexQY/p/9856477.html

最新文章

  1. Swift - AppDelegate.swift类中默认方法的介绍
  2. openlayers2中selectcontrol用法
  3. ButterKnife不同版本配置
  4. 安装Typora情况下,Windows右键新建菜单中增加新建md文件
  5. 谷歌 MapReduce 初探
  6. python类对象点处折行_史上最全的Python面向对象知识点疏理(对象是类的实例)
  7. 吹毛求疵C#(1)明确赋值检查缺陷
  8. 年度总结 | 2020 Flink 学习路线总结
  9. 黑苹果 无法运行xcode_Hackintosh (黑苹果) 折腾
  10. server.htaccess 具体解释以及 .htaccess 參数说明
  11. 中国厨房垃圾处理器(厨余粉碎机)行业深度调研与投资前景分析报告2022-2028年版
  12. Elsevier(爱思唯尔)论文模板下载地址及说明
  13. java程序开发的简历_Java程序开发工作简历
  14. win10自定义使用Mac的鼠标样式
  15. Geometric tampering estimation by means of a sift-based forensic analysis论文阅读
  16. charles 批量重复请求/重复发包工具
  17. You must address the points described in the following [1] lines before starting Elasticsearch.
  18. Android如何关闭硬件加速
  19. Photoshop制作宠物小精灵球主题图标教程
  20. 测试人最容易背负的三口“锅”

热门文章

  1. bpmn2.0业务过程模型和符号_IT帮业务架构学习小组学习内容
  2. Android逆向笔记-大部分内购游戏破解思路
  3. Spring Boot笔记-@ExceptionHandler拦截500服务器错误自定义数据回前端
  4. 系统架构师学习笔记-数据库系统
  5. VS工作笔记-C++在release模式下可以进行调试
  6. Qt OpenGL 图像的平移(使用glTranslatef)
  7. matlab数学建模可应用到第几章,《MATLAB在数学建模中的应用(第2版)》
  8. django.db.utils.OperationalError: (1040, ‘Too many connections‘)
  9. 使用 el 能否定义作用域变量_Jsp之El表达和JSTL标签库
  10. python卸载pip_PIP安装和卸载包,pip