HDFS分布式文件系统设计思想
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。
快照
支持某一时间点的映像,需要时是数据重返这个时间点。
HDFS分布式文件系统设计思想的更多相关文章
- Hadoop HDFS分布式文件系统设计要点与架构
Hadoop HDFS分布式文件系统设计要点与架构 Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群 ...
- Hadoop HDFS分布式文件系统设计要点与架构(转摘)
Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Ha ...
- 吴裕雄--天生自然HADOOP操作实验学习笔记:hdfs分布式文件系统安装
实验目的 复习安装jdk 学习免密码登录 掌握安装配置hdfs集群的方法 掌握hdfs集群的简单使用和检查其工作状态 实验原理 1.hdfs是什么 hadoop安装的第一部分是安装hdfs,hdfs是 ...
- FastDFS分布式文件系统设计原理
转载自http://blog.chinaunix.net/uid-20196318-id-4058561.html FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker ser ...
- HDFS分布式文件系统资源管理器开发总结
HDFS,全称Hadoop分布式文件系统,作为Hadoop生态技术圈底层的关键技术之一,被设计成适合运行在通用硬件上的分布式文件系统.它和现有的分布式文件系统有很多共同点,但同时,它和其他的分布式 ...
- 我理解中的Hadoop HDFS分布式文件系统
一,什么是分布式文件系统,分布式文件系统能干什么 在学习一个文件系统时,首先我先想到的是,学习它能为我们提供什么样的服务,它的价值在哪里,为什么要去学它.以这样的方式去理解它之后在日后的深入学习中才能 ...
- Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)
数据量越来越多,在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来 管理多台机器上的文件,这就是分布式文件管理系统. 是一种允许文件 ...
- 一图看懂hadoop分布式文件存储系统HDFS工作原理
一图看懂hadoop分布式文件存储系统HDFS工作原理
- 分布式文件管理系统HDFS
Hadoop 分布式文件管理系统HDFS可以部署在廉价硬件之上,能够高容错. 可靠地存储海量数据(可以达到TB甚至PB级),它还可以和Yam中的MapReduce 编程模型很好地结合,为应用程序提供高 ...
随机推荐
- linux下,如何把整个文件夹上传到服务器(另一台linux)
1.Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 #test1为源目录, ...
- 量化Hacker News 中50天的数据 Quantifying Hacker News with 50 days of data
Quantifying Hacker News I thought it would be fun to analyze the activity on one of my favorite sour ...
- 高性能Web框架Zend Framework
Zend Framework (ZF)是用 PHP 5.3及更高版本来开发 Web 程序和服务的开源框架.ZF用100% 面向对象编码实现. ZF的组件结构独一无二,每个组件几乎不依靠其他组件.这样的 ...
- SQL延时操作
--使用waitfor语句延迟或暂停程序的执行 --waitfor{delay'time'|time 'time'} delay是指间隔时间 最长到24小时 time是指定时间执行 waitfor d ...
- JSTL、EL、ONGL、Struts标签的区别与使用
一.JSTL 来源 我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题: jsp维护难度增加 出事提示不明确,不容易提示 分工不明确等 解决上面的问题可以 ...
- Oracle SQL大全
一. 基本操作表和数据 -- 建表 CREATE TABLE ab_student ( id number(4) ) create table ab_class( id number(4), name ...
- c#模拟百度电击器方案
核心提示: 我 们都知道百度对于用户体验很重视,如果一个关键词的某个搜索结果,点击量会很对的话,则百度会认为这个结果是用户所喜欢的结果,然后这个网站自然会在百度 得到一个很好的排名. 网络上也出现了百 ...
- source insight快捷键及使用技巧
source insight快捷键及使用技巧 退出程序 : Alt+F4 重画屏幕 ...
- 学军NOI训练13 T3 白黑树
唉,大学军有自己的OJ就是好,无限orz 只有周六的比赛是开放的囧,这场比赛最后因为虚拟机卡住没有及时提交…… 否则就能让大家看到我有多弱了…… 前两题题解写的很详细,可以自己去看,我来随便扯扯T3好 ...
- VS2005中乱码问题
VS2005打开某些文件(如.inc, js)的时候出现乱码: 解决方法: 工具 --> 选项 --> 文本编辑器 --> 将“自动检测不带签名的 UTF-8编码”选中保存即可. V ...