HDFS Architecture

栏目: 服务器 · 发布时间: 5年前

内容简介:HDFS(Hadoop Distributed File System)是一个分布式文件系统,它具有很高的容错性,可以支持运行在廉价的硬件设备上。HDFS具有很高的吞吐量,非常适合拥有海量数据的application。HDFS放宽了一些POSIX要求,以支持一个HDFS实例可以包含成百上千台的服务器,每个服务器存储整个文件系统数据的一部分。每台服务器都有一定的概率出现硬件故障,这意味着一个HDFS实例中的一部分服务器在某个时刻可能是不可用的。因此,发现故障并能够从故障中快速恢复是HDFS的核心目标。HDFS

Introduction

HDFS(Hadoop Distributed File System)是一个分布式文件系统,它具有很高的容错性,可以支持运行在廉价的硬件设备上。HDFS具有很高的吞吐量,非常适合拥有海量数据的application。HDFS放宽了一些POSIX要求,以支持 的方式访问文件系统中的数据。HDFS是Apache Hadoop核心项目的一部分。

HDFS设计目标

  • 硬件故障是经常会发生的

一个HDFS实例可以包含成百上千台的服务器,每个服务器存储整个文件系统数据的一部分。每台服务器都有一定的概率出现硬件故障,这意味着一个HDFS实例中的一部分服务器在某个时刻可能是不可用的。因此,发现故障并能够从故障中快速恢复是HDFS的核心目标。

  • 批处理

HDFS适合应用在批处理领域,而不适合与用户交互的领域。它的设计目标是数据访问的高吞吐量,而不是低延迟。

  • 大数据集

运行在HDFS上的application通常都拥有大数据集,例如一个文件可以达到gigabytes或terabytes大小。因此一个HDFS集群可以扩展到数百个节点,可以支持数千万个文件的存储。

  • 简单的一致性模型

HDFS上的文件模型是 write-once-read-many 。一个文件在完成 创建-写入数据-关闭 后只能再对文件执行appends和truncates两种类型修改操作,无法再执行其它形式的修改。即只能在文件尾部添加或删除数据,不支持在文件的任意位置修改数据。

  • 使计算节点靠近它需要的数据

在分布式系统中,如果一个计算节点要处理的数据离自己很近,那么会有助于提高数据计算的效率。如果要处理的数据量非常大,那么效率提升将更加明显。因为这会降低整个系统的网络拥塞,并提高分布式系统整体的吞吐量。HDFS提供了相应的API,可以将application本身移向数据存储的节点。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++沉思录

C++沉思录

Andrew Koenig、Barbara Moo / 黄晓春、孟岩(审校) / 人民邮电出版社 / 2008-1 / 55.00元

《C++沉思录》基于作者在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理、写作而成,融聚了作者10多年C++程序生涯的真知灼见。全书分为6篇32章,分别对C++语言的历史和特点、类和继承、STL与泛型编程、库的设计等几大技术话题进行了详细而深入的讨论,细微之处几乎涵盖了C++所有的设计思想和技术细节。全书通过精心挑选的实例,向读者传达先进的程序设计的方法和理念。一起来看看 《C++沉思录》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具