内容简介:HDFS即Hadoop Distributed File System的简称,是一个被设计为运行在廉价机器上的分布式文件系统,是Google分布式文件系统GFS的开源实现。数据块(Data Blocks)是HDFS存储文件的最基本单元,HDFS通过分块存储的方式提高文件的读写性能以突破单机存储瓶颈,通过数据块的多副本冗余存储保证数据的可靠性。
HDFS即Hadoop Distributed File System的简称,是一个被设计为运行在廉价机器上的分布式文件系统,是Google分布式文件系统GFS的开源实现。
数据块(Data Blocks)是HDFS存储文件的最基本单元,HDFS通过分块存储的方式提高文件的读写性能以突破单机存储瓶颈,通过数据块的多副本冗余存储保证数据的可靠性。
HDFS的设计目标(Assumptions and Goals)
- 硬件故障(Hardware Failure):HDFS认为硬件故障时常态而不是异常,一个HDFS集群由成百上千的服务器组成,每个服务器存储文件系统的一部分数据,这些服务器可能是廉价的硬件且不稳定,可能随时损坏。因此故障检测、快速、自动恢复时HDFS的核心架构目标
- 流式数据访问(Streaming Data Access):运行在HDFS上的应用需要以流的方式访问它们的数据集。HDFS的设计中更多考虑的是数据的批处理场景,而不是用户交互式处理。HDFS更关注数据访问的高吞吐量。
- 大数据集(Large Data Sets):运行在HDFS上的应用具有很大的数据集。如HDFS上的一个典型文件的大小在GB级到TB级之间。因此,HDFS被实现为支持大文件存储。HDFS应该能在一个集群内扩展到数百个节点提供整体很高的数据传输带宽,应该能支持千万级文件。
- 简单一致性模型(Simple Coherency Model):HDFS应用需要一个“一次写入多次读取”的文件访问模型,一个文件经过创建、写入和关闭后不需要再改变。这个模型简化了数据一致性的问题,并使的高吞吐量的数据访问成为可能。MapReduce应用和Web爬虫应用特别适合这个模型。
- 移动计算比移动数据更划算(“Moving Computation is Cheaper than Moving Data”):将计算移动到数据附件比将数据移动到应用所在的位置更好,HDFS提供了将应用移动到数据附近的接口。
参考
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ruby语言入门
Yugui / 丁明、吕嘉 / 东南大学出版社 / 2010 年4月 / 32.00元
《Ruby 语言入门(中文版)》为具有一定其他语言的编程经验的读者介绍Ruby的特征、Ruby中的编程方法和编程习惯。这些内容都是为了让读者能够边阅读Ruby的资料边进行实践性的学习所必须具备的基础知识。《Ruby 语言入门(中文版)》对Ruby的基础部分和元类、块语句这样独特的概念,以及由此产生的特有的文化进行了说明,以使读者能够了解到Ruby独特的思考方式。读完《Ruby 语言入门(中文版)》......一起来看看 《Ruby语言入门》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
随机密码生成器
多种字符组合密码