Dream------Hadoop--HDFS的设计

HDFS是为以流式数据访问模式存储超大文件而设计的文件系统。

 

流式数据访问

HDFS建立在这样一个思想上:一次写入、多次读取模式是最高效的。一个数据集通常由数据源生成或复制,

接着在此基础上进行各种各样的分析。每个分析至少都会涉及数据集中的大部分数据(设置全部),因此读取整个

数据集的时间比读取第一条记录的延迟更为重要。

 

商用硬件

Hadoop不需要运行在昂贵并且高可靠性的硬件上。它被设计运行在商用硬件(在各种零售店都能买到的普通硬件)

的集群上,因此至少对于大的集群来说,节点故障的几率还是比较高的。HDFS在面对这种故障时,被设计为能够

继续运行而让用户察觉不到明显的中断。

 

同时,那些并不适合HDFS的应用也是值得研究的。在目前,HDFS还不太适合用于某些领域,不过日后可能会有所改进。

 

低延迟数据访问

    需要低延迟访问数据在毫秒级范围内的应用并不适合HDFS。HDFS是为达到高数据吞吐量而优化的,这有可能会以延迟为代价。目前,对于低延迟访问,HBase是更好的选择

大量的小文件

    namenode节点存储着文件系统的元数据,因此文件数量的限制也由namenode节点的内存量决定。根据经验,每个文件,索引目录以及块占大约150个字节。因此,举例来说,如果有一百万个文件,每个文件占一个块,就至少需要300MB的内存。虽然存储上百万的文件是可行的,十亿或更多的文件就超出目前硬件的能力了。

 

多用户写入,任意修改文件

HDFS中的文件只有一个写入者,而且写操作总是在文件的末尾。它不支持多个写入者,或是在文件的任意位置修改。

(可能在以后这些会被支持,但他们也相对不那么高效)

时间: 2024-10-12 06:31:53

Dream------Hadoop--HDFS的设计的相关文章

HADOOP HDFS的设计

Hadoop提供的对其HDFS上的数据的处理方式,有以下几种, 1 批处理,mapreduce 2 实时处理:apache storm, spark streaming , ibm streams 3 交互式: 如pig , spark shell 都可以提供交互式地数据处理 4 sql: hive , impala 提供接口,可以使用sql标准语言进行数据查询分析 5 迭代处理:尤其是机器学习相关的算法,需要对数据反复数据,mapreduce不适应这种计算方式,它总是把它的中间结果输出到磁盘,

Hadoop HDFS 架构设计

HDFS 简介 Hadoop Distributed File System,简称HDFS,是一个分布式文件系统. HDFS是高容错性的,可以部署在低成本的硬件之上,HDFS提供高吞吐量地对应用程序数据访问,它适合大数据集的应用程序.它具有以下几个特点: 1)适合存储非常大的文件 2)适合流式数据读取,即适合“只写一次,读多次”的数据处理模式 3)适合部署在廉价的机器上 但HDFS不适合以下场景(任何东西都要分两面看,只有适合自己业务的技术才是真正的好技术): 1)不适合存储大量的小文件,因为受

2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理

这是我收集的两本关于Hadoop的书,高清PDF版,在此和大家分享: 1.<Hadoop技术内幕:深入理解MapReduce架构设计与实现原理>董西成 著  机械工业出版社2013年5月出版 2.<Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理>蔡斌.陈湘萍 著  机械工业出版社2013年4月出版 百度网盘下载地址: http://pan.baidu.com/s/1sjNmkFj

基于key/value+Hadoop HDFS 设计的存储系统的shell命令接口

对于hadoop HDFS 中的所有命令进行解析(其中操作流程是自己的想法有不同意见欢迎大家指正) 接口名称 功能 操作流程 get 将文件复制到本地文件系统 .如果指定了多个源文件,本地目的端必须是一个目录. (1)按照上述机制,在Config server上的存储引擎中逐层读取K-V,直到获得文件名(或大文件元数据信息): (2)根据文件名(或大文件元数据信息)到相应的Data server中获取相应的文件(大文件需要拼接): (3)将获取的文件写入本地文件系统. put 从本地文件系统中复

大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)

一.HDFS 的设计思路 1)思路 切分数据,并进行多副本存储: 2)如果文件只以多副本进行存储,而不进行切分,会有什么问题 缺点 不管文件多大,都存储在一个节点上,在进行数据处理的时候很难进行并行处理,节点可能成为网络瓶颈,很难进行大数据的处理: 存储负载很难均衡,每个节点的利用率很低: 二.HDFS 的设计目标 Hadoop Distributed File System(HDFS):源于Google 的 GFS 论文: 设计目标 分布式存储:根据需要,水平横向增加节点: 运行在普通廉价的硬

数道云大数据平台解决方案,Hadoop + HDFS+Hive+Hbase大数据开发整体架构设计

波若大数据平台(BR-odp)Hadoop + HDFS+Hive+Hbase大数据开发工具剖析: HDFS:分布式.高度容错性文件系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,大规模的波若大数据平台(BR-odp)用户部署上1000台的HDFS集群.数据规模高达50PB以上 HDFS和MR共同组成Hadoop分布式系统体系结构的核心.HDFS在集群上实现了分布式文件系统,MR在集群上实现了分布式计算和任务处理.HDFS在MR任务处理过程中提供了文件操作和存储等支持,MR在HDF

Hadoop HDFS (3) JAVA访问HDFS

现在我们来深入了解一下Hadoop的FileSystem类.这个类是用来跟Hadoop的文件系统进行交互的.虽然我们这里主要是针对HDFS,但是我们还是应该让我们的代码只使用抽象类FileSystem,这样我们的代码就可以跟任何一个Hadoop的文件系统交互了.在写测试代码时,我们可以用本地文件系统测试,部署时使用HDFS,只需配置一下,不需要修改代码了. 在Hadoop 1.x以后的版本中引入了一个新的文件系统接口叫FileContext,一个FileContext实例可以处理多种文件系统,而

后端程序员之路 47、Hadoop hdfs

Hadoop的核心是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如HBase.Hive等,这些都是基于HDFS和MapReduce发展出来的.Hadoop Distributed File System,简称HDFS,是一个分布式文件系统.MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型.Hadoop典型应用有:搜索.日志处理.推荐系统.数据分析.视频图像分析.数据保存等. 什么是HDFS及HDFS架构设

Hadoop HDFS (1)

HDFS是Hadoop Distributed Filesystem,Hadoop分布式文件系统. 当数据大到一台机器无法存储时,就要把它分散到多台机器上去,通过网络管理多台计算机上的存储空间的文件系统,就称为分布式文件系统.网络程序的复杂性使得分布式文件系统比普通的磁盘文件系统复杂得多,例如其中最大的挑战之一就是要容错,要在其中一个或几个节点死掉后,仍能保证数据完整. HDFS是Hadoop的旗舰文件系统,但是Hadoop还有一个抽象的文件系统,用于整合其它文件系统,例如本地存储. HDFS是

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

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