HDFS的特性和目标

HDFS的特性

HDFS和传统的分布式文件系统相比较,具有以下明显的特性:
  高度容错,可扩展性及可配置性强。由于容错性高,因此非常适合部署利用通用的硬件平台构建容错性很高的分布式系统。容易扩展是指扩展无须改变架构只需要增加节点即可,同时可配置性很强。
  跨平台。使用Java语言开发,支持多个主流平台环境。
  shell命令接口。和Linux文件系统一样,拥有文件系统shell命令,可直接操作HDFS。
  Web界面。NameNode和DataNode有内置的Web服务器,方便用户检查集群的当前状态。
  文件权限和授权。拥有和Linux系统类似的文件权限管理。
  机架感知功能。在调度任务和分配存储空间时系统会考虑节点的物理位置,从而实现高效访问和计算。
    安全模式。一种维护需要的管理模式。
  Rebalancer。当DataNode之间数据不均衡时,可以平衡集群上的数据负载,实现数据负载均衡。
  升级和回滚。在软件更新后有异常发生的情形下,能够回滚到HDPS升级之前的状态。
 

HDFS的目标

  HDFS作为Hadoop的分布式文件存储系统和传统的分布式文件系统有很多相同的设计目标。例如,在可伸缩性及可用性上。但是HDFS的设计前提是假设和较早的文件系统有着明显的不同之处。下面简述HDFS的设计思路和目标。
1.硬件错误
  硬件组件错误是常态,而非异常情况。HDFS可能由成百上千的服务器组成,每一个服务器都是廉价通用的普通硬件,任何一个组件都有可能一直失效,因此错误检测和快速、自动恢复是HDFS的核心架构目标,同时能够通过自身持续的状态监控快速检测冗余并回复失效的组件。
2.流式数据访问
  运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。HDFS的设计中更多考虑到了数据批处理,而不是用户交互处理。相比数据访问的低延迟,HDFS应用要求能够高速率、大批量地处理数据,极少有程序对单一的读写操作有严格的响应时间要求,更关键的问题在于数据访问的高吞吐量。POSIX标准设置的很多硬性约束对HDFS应用系统不是必需的。为了提高数据的吞吐量,在一些关键方面对POSIX的语义做了一些修改。

3.大规模数据集

  运行在HDFS土的应用具有很大的数据集。HDFS上的一个典型文件,大小一般都在GB至TB。因此,需要调节HDFS以支持大文件存储。HDFS应该能提供整体较高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例应该能支撑千万计的文件。
4.简化一致性模型
  HDFS应用需要一个“一次写入多次读取”的文件访问模型。一个文件经过创建、写入和关闭之后就不需要改变了。这一假设简化了数据一致性问题,并且使高吞吐量的数据访问成为可能。MapReduce应用或网络爬虫应用都非常适合这个模型。目前还有计划在将来扩充这个模型,使之支持文件的附加写操作。
5.移动计算代价比移动数据代价低
  一个应用请求的计算,离它操作的数据越近就越高效,这在数据达到海量级别的时候更是如此。将计算移动到数据附近,比之将数据移动到应用所在之处显然更好,HDFS提供给应用这样的接口。
6.可移植性

  HDFS在设计时就考虑到平台的可移植性,这种特性方便了HDFS作为大规模数据应用平台的推广。

时间: 2024-10-13 23:47:43

HDFS的特性和目标的相关文章

Hadoop 2.x HDFS新特性

Hadoop 2.x HDFS新特性     HDFS联邦     HDFS HA(要用到zookeeper等,留在后面再讲)     HDFS快照 回顾: HDFS两层模型     Namespace: 包括目录.文件和块.它支持所有命名空间相关的文件操作,如创建.删除.修改,查看所有文件和目录.     Block Storage Service(块存储服务) 包括两部分: 1 在namenode中的块的管理:提供datanode集群的注册.心跳检测等功能.处理块的报告信息和维护块的位置信息

Hadoop 2.8.x 分布式存储 HDFS 基本特性, Java示例连接HDFS

02_note_分布式文件系统HDFS原理与操作,HDFS API编程:2.x下HDFS新特性,高可用,联邦,快照 HDFS基本特性 /home/henry/app/hadoop-2.8.1/tmp/dfs/name/current - on namenode cat ./VERSION namespaceID (空间标识号,类似集群识别号) /home/henry/app/hadoop-2.8.1/tmp/dfs/data – on datanode ls -lR blk_1073741844

HDFS的特点和目标,不适合场景

 HDFS的特点和目标: HDFS设计优点: (一)高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖; (二)高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中. (三)高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快. (四)高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配. HDFS设计缺点: (一)不适合低延迟数据访问. (二)无法高效存储大

分布式文件系统HDFS简要介绍

HDFS 的设计主要基于以下六点考虑: (1)容错 独立计算机的硬件错误不能当异常情况处理,而属于正常状态.HDFS 文件系统中会有许多个普通计算机节点构成, 在任何时间任何一个节点都有可能出现故障, 因此HDFS 应该设计成能够自动恢复和快速检测错误, 这应该是维持HDFS 可靠运行的核心目标. (2)流式访问数据集 HDFS上运行的应用程序需要以流式访问所存储的数据集.这些应用程序都采用并行的批处理方式进行数据计算,不同于普通系统上用于数据处理的应用程序.提高数据访问吞吐量是研究HDFS的重

HDFS架构剖析

HDFS架构核心内容: 一.NameNode/DataNode 二.数据存储副本 三.元数据持久化 四.数据模型 五.故障容错 具体讲解: 一.NameNode/DataNode HDFS采用Master/Slave架构,其集群由一个NameNode和多个DataNodes组成. NameNode是中心服务器,负责管理文件系统的名字空间(namespace)以及客户端的访问.DataNode负责管理它所在节点上的存储.用户能够通过HDFS文件系统的名字空间以文件的形式在上面存储数据. 对于内部存

大数据技术hadoop入门理论系列之二—HDFS架构简介

HDFS简单介绍 HDFS全称是Hadoop Distribute File System,是一个能运行在普通商用硬件上的分布式文件系统. 与其他分布式文件系统显著不同的特点是: HDFS是一个高容错系统且能运行在各种低成本硬件上: 提供高吞吐量,适合于存储大数据集: HDFS提供流式数据访问机制. HDFS起源于Apache Nutch,现在是Apache Hadoop项目的核心子项目. HDFS设计假设和目标 硬件错误是常态 在数据中心,硬件异常应被视作常态而非异常态. 在一个大数据环境下,

07.HDFS Architecture

HDFS Architecture Introduction HDFS是分布式文件系统,它被设计为运行在普通商用硬件之上.它与已经存在的文件系统有很多相似性.但是,也有巨大的不同.HDFS有很高的容错,被设计为部署在低廉的硬件上.HDFS提供为应用程序的数据提供一个高通量的访问,适合有大量数据的应用程序.HDFS放松了一些POSIX的需求,以使可以用流的方式访问文件系统的数据.HDFS最初作为Apache Nutch web搜索引擎项目的基础设施.HDFS是Apache Hadoop核心项目.

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

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

Hadoop HDFS分布式文件系统设计要点与架构

Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上.而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序.HDF