Hadoop白皮书(1):分布式文件系统HDFS简介

  Hadoop 分布式文件系统 (HDFS) 是运行在通用硬件上的分布式文件系统。HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解决方案。HDFS 已经在各种大型在线服务和大型存储系统中得到广泛应用,已经成为各大网站等在线服务公司的海量存储事实标准,多年来为网站客户提供了可靠高效的服务。

  随着信息系统的快速发展,海量的信息需要可靠存储的同时,还能被大量的使用者快速地访问。传统的存储方案已经从构架上越来越难以适应近几年来的信息系统业务的飞速发展,成为了业务发展的瓶颈和障碍。

  HDFS 通过一个高效的分布式算法,将数据的访问和存储分布在大量服务器之中,在可靠地多备份存储的同时还能将访问分布在集群中的各个服务器之上,是传统存储构架的一个颠覆性的发展。HDFS 可以提供以下特性:

  • 可自我修复的分布式文件存储系统

  • 高可扩展性,无需停机动态扩容

  • 高可靠性,数据自动检测和复制

  • 高吞吐量访问,消除访问瓶颈

  • 使用低成本存储和服务器构建

  分布式文件系统 HDFS 特性

  高吞吐量访问

  HDFS 的每个数据块分布在不同机架的一组服务器之上,在用户访问时,HDFS 将会计算使用网络最近的和访问量最小的服务器给用户提供访问。由于数据块的每个复制拷贝都能提供给用户访问,而不是从单数据源读取,HDFS 对于单数据块的访问将是传统存储方案的数倍。

  对于一个较大的文件,HDFS 将文件的不同部分存放于不同服务器之上。在访问大型文件时,系统可以并行从服务器阵列中的多个服务器并行读入,增加了大文件读入的访问带宽。

  通过以上实现,HDFS 通过分布式计算的算法,将数据访问均摊到服务器阵列中的每个服务器的多个数据拷贝之上,单个硬盘或服务器的吞吐量限制都可以数倍甚至数百倍的突破,提供了极高的数据吞吐量。

  无缝容量扩充

  HDFS 将文件的数据块分配信息存放在NameNode 服务器之上,文件数据块的信息分布地存放在 DataNode 服务器上。当整个系统容量需要扩充时,只需要增加DataNode 的数量,系统会自动地实时将新的服务器匹配进整体阵列之中。之后,文件的分布算法会将数据块搬迁到新的DataNode 之中,不需任何系统宕机维护或人工干预。通过以上实现,HDFS 可以做到在不停止服务的情况下实时地加入新的服务器作为分布式文件系统的容量升级,不需要人工干预文件的重新分布。

  高度容错

  HDFS 文件系统假设系统故障(服务器、网络、存储故障等)是常态,而不是异常。因此通过多方面保证数据的可靠性。数据在写入时被复制多份,并且可以通过用户自定义的复制策略分布到物理位置不同的服务器上;数据在读写时将自动进行数据的校验,一旦发现数据校验错误将重新进行复制;HDFS 系统在后台自动连续的检测数据的一致性,并维持数据的副本数量在指定的复制水平上。

时间: 2024-12-31 04:44:09

Hadoop白皮书(1):分布式文件系统HDFS简介的相关文章

Hadoop分布式文件系统HDFS的工作原理详述

Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.要理解HDFS的内部工作原理,首先要理解什么是分布式文件系统. 1.分布式文件系统 多台计算机联网协同工作(有时也称为一个集群)就像单台系统一样解决某种问题,这样的系统我们称之为分布式系统. 分布式文件系统是分布式系统的一个子集,它们解决的问题就是数据存储.换句话说,它们是横跨在多台计算机上的存

Java访问Hadoop分布式文件系统HDFS的配置说明_java

配置文件 m103替换为hdfs服务地址. 要利用Java客户端来存取HDFS上的文件,不得不说的是配置文件hadoop-0.20.2/conf/core-site.xml了,最初我就是在这里吃了大亏,所以我死活连不上HDFS,文件无法创建.读取. <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <co

性能-分布式文件系统hdfs 有iops和tps这两种指标的测试吗?

问题描述 分布式文件系统hdfs 有iops和tps这两种指标的测试吗? 分布式文件系统hdfs 有iops和tps这两种指标的测试吗? 还有淘宝分布式文件系统,有iops的测试指标不?谢谢大神们

分布式文件系统HDFS设计

<Hadoop 权威指南>上用这么一句话来描述HDFS: HDFS is a filesystem designed for storing very large files with streaming data access patterns, running on clusters of commodity hardware. 有几个关键性的词组:Very large files,Streaming data access,以及Commodity hardware.解下来一个一个解释.

分布式文件系统HDFS体系

系列文件列表: http://os.51cto.com/art/201306/399379.htm 1.介绍 hadoop文件系统(HDFS)是一个运行在普通的硬件之上的分布式文件系统,它和现有的分布式文件系统有着很多的相似性,然而和其他的分布式文件系统的区别也是很明显的,HDFS是高容错性的,可以部署在低成本的硬件之上,HDFS提供高吞吐量地对应用程序数据访问,它适合大数据集的应用程序,HDFS放开一些POSIX的需求去实现流式地访问文件数据,HDFS开始是为开源的apache项目nutch的

Hadoop白皮书(4):数据仓库Hive简介

Hive 是一种建立在 Hadoop 之上的数据仓库架构.它提供了: • 一套方便的实施数据抽取(ETL)的工具. • 一种让用户对数据描述其结构的机制. • 支持用户对存储在Hadoop中的海量数据进行查询和分析的能力. Hive 的基本特点是它采用 HDFS 进行数据存储并利用 Map/Reduce 框架进行数据操作.所以从本质上来说,Hive 就是个编译器,它把用户的操作(查询或者 ETL)变换成Map/Reduce 任务,利用 Map/Reduce 框架执行这些任务以对HDFS上的海量数

【官方文档】Hadoop分布式文件系统:架构和设计

http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html   引言 前提和设计目标 硬件错误 流式数据访问 大规模数据集 简单的一致性模型 "移动计算比移动数据更划算" 异构软硬件平台间的可移植性 Namenode 和 Datanode 文件系统的名字空间 (namespace) 数据复制 副本存放: 最最开始的一步 副本选择 安全模式 文件系统元数据的持久化 通讯协议 健壮性 磁盘数据错误,心跳检测和重新复制 集群均衡 数据完整

Hadoop分布式文件系统:结构与设计

1. 介绍 Hadoop 分布式文件系统 (HDFS)是一个设计为用在普通硬件设备上的分布式文件系统.它与现有的分布式文件系统有很多近似的地方,但又和这些文件系统有很明显的不同.HDFS 是高容错的,设计为部署在廉价硬件上的.HDFS对应用程序的数据提供高吞吐量,而且适用于那些大数据集应用程序.HDFS开放了一些POSIX的必须接口,容许流式访问文件系统的数据.HDFS最初是为了Apache 的Nutch网络搜索引擎项目的下层构件而设计的.是Hadoop项目的一部分,而这又是Apache的 Lu

CentOS 7下配置hadoop 2.8 分布式集群

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,实现分布式文件系统HDFS,用于存储大数据集,以及可以以流的形式访问(streaming access)文件系统中的数据.Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算.本文描述了在CentOS 7下,基于三个节点安装hadoop 2.8,供大家参考. 一.基础环境描述 OS版本 [root@namenode ~]# more /etc/