HDFS与其他并行文件系统的比较

HDFS作为一种新兴的并行文件系统,和现有的分布式文件系统相似,他们都是运行在普通硬件之上的分布式文件系统,然而HDFS与其他分布式文件系统也存在着一些差别。如HDFS具有高容错性,可以部署在低成本的硬件之上,同时放松了对POSIX的需求,使其可以以流的形式访问文件数据,非常适合大数据集的应用程序。分析研究HDFS与其他并行文件系统的相同点和不同点,能够深入了解HDFS系统的应用场景和设计理念。 
(1)访问的透明性,用户能通过相同操作来访问本地文件和远程文件。HDFS可以做到这一点,但如果HDFS设置成本地文件系统,而不是分布式,那么HDFS的应用程序可以直接读写本地文件,只需要修改配置文件。可见,HDFS提供的访问透明性是不完全的,毕竟它构建于java之上,不能像NFS和Lustre那样去修改Unix内核,同时将本地文件和远程文件以一致地方式处理。 
(2)并发控制,客户端对文件的读写不应该影响其他客户端对同一个文件的读写。要想实现这种单个文件拷贝语义,分布式文件系统需要做出复杂的交互,例如采用时间戳、采用互斥、原子操作等。而HDFS采用的机制非常简单,任何时间都只允许一个客户端进行写操作。当客户端需要写文件时,会对这个文件申请一个租约,只有这个租约被释放,别的客户端才能申请对这个文件的写操作。文件经创建并写入关闭之后不再改变,它的模型是“Write-Once-Read-Many”。  
(3)资源移动策略,HDFS支持“移动计算到数据”。若一个Map任务是对某个数据块的操作,则这个操作必定是在存储这个数据块的节点上完成的,同时HDFS支持数据的多副本(默认为3个副本),存储任一副本的节点都可以执行Map任务的操作,JobTracker会把任务分配给距离客户端最近的,且存有副本的节点。 
通过上面三方面的比较,可以深入的理解HDFS的优点和缺点,以及HDFS的设计应用场景。对于追求海量数据的高吞吐量、批量处理任务HDFS无疑能发挥巨大的威力,但是对文件的随机读写却并不适合。同时,HDFS也不适合对低延时访问、大量小文件的存储及处理。

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:

时间: 2024-10-12 21:34:59

HDFS与其他并行文件系统的比较的相关文章

深入理解HDFS:Hadoop分布式文件系统

文本详细介绍了HDFS中的许多概念,对于理解Hadoop分布式文件系统很有帮助. 1. 介绍 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储.统一管理分布在集群上的文件系统称为分布式文件系统.而一旦在系统中,引入网络,就不可避免地引入了所有网络编程的复杂性,例如挑战之一是如果保证在节点不可用的时候数据不丢失. 传统的网络文件系统(NFS)虽然也称为分布式文件系统,但是其存在一些限制.由于NFS中,文件是存储在单机上,因此无法提供可靠性保证,当很多客户端同时访问NFS Serve

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

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

【整理学习HDFS】Hadoop Distributed File System 一个分布式文件系统

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统的区别也是很明显的.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的.HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的.HDFS是Apac

Hadoop分布式文件系统(HDFS)设计

Hadoop分布式文件系统是设计初衷是可靠的存储大数据集,并且使应用程序高带宽的流式处理存储的大数据集.在一个成千个server的大集群中,每个server不仅要管理存储的这些数据,而且可以执行应用程序任务.通过分布式存储和在各个server间交叉运算,集群和存储可以按需动态经济增长.以下的设计原则和经验是根据yahoo通过HDFS管理的40PB得来的. 1. HDFS简介 HDFS是一个分布式文件系统,并且为MapReduce分布式算法提供了一分析和传输大数据的框架.HDFS使用java编写,

hadoop系列二:HDFS文件系统的命令及JAVA客户端API

转载请在页首明显处注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6391518.html 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6.4 上一篇:hadoop系列一:hadoop集群安装 二:HDFS的shell命令 上一章说完了安装HADOOP集群部分,这一张讲HDFS. 其实基本上操作都是通过JAVA API来操作,所以这里的s

Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)

Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme://authority/path.对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file.其中scheme和aut

Hadoop学习笔记_5_分布式文件系统HDFS --shell操作

分布式文件系统HDFS --shell操作 分布式文件系统[Distributed File System]概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 . 分布式文件系统特点: 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 通透性.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般

【整理学习Hadoop】H D F S 一个分布式文件系统

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统的区别也是很明显的.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用.HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的.HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的.HDFS是Apac

HDFS知识点总结

学习完Hadoop权威指南有一段时间了,现在再回顾和总结一下HDFS的知识点. 1.HDFS的设计 HDFS是什么:HDFS即Hadoop分布式文件系统(Hadoop Distributed Filesystem),以流式数据访问模式来存储超大文件,运行于商用硬件集群上,是管理网络中跨多台计算机存储的文件系统. HDFS不适合用在:要求低时间延迟数据访问的应用,存储大量的小文件,多用户写入,任意修改文件. 2.HDFS的概念 HDFS数据块:HDFS上的文件被划分为块大小的多个分块,作为独立的存