HDFS 的可靠性主要有一下几点:

  • 冗余副本策略

  • 机架策略

  • 心跳机制

  • 安全模式

  • 效验和

  • 回收站

  • 元数据保护

  • 快照机制

1.冗余副本策略

  可以在hdfs-site.xml中设置复制因子指定副本数量

  所有数据块都可副本

  DataNode启动时,遍历本地文件系统,产生一份HDFS数据块和本地文件的对应关系列表(blockreport)汇报给Namenode

2.机架策略

  HDFS的"机架感知",通过节点之间发送一个数据包,来感应它们是否在同一个机架

  一般在本机架放一个副本,在其他机架再存放一个副本,这样可以防止机架失效时丢失数据,也可以提高带宽利用率

3.心跳机制

  NameNode 周期性从DataNode接受心跳信息和块报告

  NameNode 根据快报告验证元数据

  没有按时发送心跳的DataNode会被标记为宕机,不会再给他任何I/O请求

  如果DataNode失效造成副本数量下降,并且低于预先设定的值,NameNode 会检测出这些数据库,并在合适的时机从新复制

  引发重新复制的原因还包括数据副本本身损坏,磁盘错误,复制因子被增大等

4.安全模式

  NameNode 启动时会先经过一个 "安全模式" 阶段

  安全模式阶段不会产生数据写

  在此阶段NameNode收集各个DataNode 的报告, 当数据块达到最小副本数以上时,会被认为是"安全"的

  在一定比例(可设置) 的数据块被确定为"安全" 后 ,在过若干时间,安全模式结束

  当检测到副本数不足的数据块是,该块会被复制,直到达到最小副本数

  

5.效验和  

  在文件创立时,每个数据块都产生效验和

  效验和会作为单独一个隐藏文件保存在命名空间下

  客户端获取数据时可以检查效验和是否相同,从而发现数据块是否损坏

  如果正在读取的数据块损坏,则可以继续读取其他副本

6.回收站

  删除文件时,其实是放入回收站/trash

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

  可以设置一个时间值,当回收站里文件的存放时间超过了这个值,就被彻底删除,并且释放占用的数据块

7.元数据保护

  映像文件和事物日志是NameNode 的核心数据.可以配置为拥有多个副本

  副本会降低NameNode 的处理速度,但增加安全性

  NameNode依然是单点,如果发生故障要手工切换

8.快照机制

  待实现.

HDFS 的可靠性的更多相关文章

  1. HDFS的可靠性

    HDFS的可靠性 1.冗余副本策略   2.机架策略    3.心跳机制    4.安全模式 5.校验和           6.回收站       7.元数据保护    8.快照机制 1.冗余副本策 ...

  2. 何为HDFS?

    该文来自百度百科,自我收藏. Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时, ...

  3. Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门

    一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...

  4. Hadoop官方文档翻译——HDFS Architecture 2.7.3

    HDFS Architecture HDFS Architecture(HDFS 架构) Introduction(简介) Assumptions and Goals(假设和目标) Hardware ...

  5. hdfs工作原理

    一.NameNode和DataNode (1)NameNode NameNode的作用是管理文件目录结构,是管理数据节点的.NameNode维护两套数据:一套是文件目录与数据块之间的关系,另一套是数据 ...

  6. Hadoop第三天---分布式文件系统HDFS(大数据存储实战)

    1.开机启动Hadoop,输入命令:  检查相关进程的启动情况: 2.对Hadoop集群做一个测试:   可以看到新建的test1.txt和test2.txt已经成功地拷贝到节点上(伪分布式只有一个节 ...

  7. hadoop笔记之hdfs

    1.HDFS设计基础与目标 1.HDFS设计基础与目标 (1)硬件错误是常态,因此需要冗余. (2)流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理. (3)大规 ...

  8. 每天收获一点点------Hadoop之HDFS基础入门

    一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...

  9. HDFS概述(1)————HDFS架构

    概述 Hadoop分布式文件系统(HDFS)是一种分布式文件系统,用于在普通商用硬件上运行.它与现有的分布式文件系统有许多相似之处.然而,与其他分布式文件系统的区别很大.HDFS具有高度的容错能力,旨 ...

随机推荐

  1. CSS3 伸缩布局盒模型记

    CSS3 伸缩布局盒模型 CSS3引入的布局模式Flexbox布局,主要思想是让容器有能力让其子项目能够改变其宽度,高度,以最佳方式填充可用空间.Flex容器使用Flex项目可以自动放大与收缩,用来填 ...

  2. Bootstrap之导航栏(2015年-05年-20日)

    <nav class="navbar navbar-default" style="border-color: transparent;">< ...

  3. (转)操作型数据库的春天:MongoDB 1.5亿美元融资背后的故事

    大部分融资都要耗时数月,但非关系式数据库MongoDB仅用3周时间就完成了1.5亿美元的融资.为什么这个进程会这么快,MongoDB CEO Max Schireson在接受采访时说,这是因为投资者看 ...

  4. DOM_节点层次_Document类型

    一.Document类型 nodeType: 9; nodeName: "#document"; nodeValue: null; parentValue: null; owner ...

  5. CSS的兼容性解决方案

    什么是兼容性? 同一个网页,在不同浏览器下(IE6.IE7.IE8)下的显示效果不一致,这就是说"CSS不兼容". IETESTer可以同时测试IE5.5.IE6.IE7.IE8这 ...

  6. Oracle创建新用户

    1.以DBA身份登录 $ sqlplus sys/eastcom@ORCL as sysdba(在命令窗口下) 也可以使用PL/SQL 2.创建临时表空间 create temporary table ...

  7. 【Winform】 Enum逆向解析

    将字符串转换成Enum类型 Enum.Parse:将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象.   名称 说明   Parse(Type, String) 将一个或多个枚举常数 ...

  8. 《WPF程序设计指南》读书笔记——第9章 路由输入事件

    1.使用路由事件 路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件.通俗地说,路由事件会在可视树(逻辑树是其子集)上,上下routed,如果哪个节点上订阅了 ...

  9. Ducci Sequence

    Description   A Ducci sequence is a sequence of n-tuples of integers. Given an n-tuple of integers ( ...

  10. 外部表查询时出现ORA-29913和ORA-29400错误

    create table t_ext_tab(id char(1),name char(6)) organization external( type oracle_loader default di ...