Hadoop学习之路(六):理解Hadoop三大核心组件之HDFS

一、分布式文件系统简介

一般而言,常见的文件系统都是单机的,即数据只存储在一台机器上,读写都必须交互这台机器。当数据大小超过一台独立主机的物理存储能力时就必须将数据分区,然后存储到若干台单独计算机上。管理网络中跨多台计算机存储文件的系统称之为分布式文件系统。该系统构建于网络之上,势必会引入网络编程的复杂性,因此分布式文件系统要比普通文件系统复杂得多。

Hadoop有一个称之为HDFS的文件系统,即 Hadoop Distributed Filesystem,是一个分布式文件系统的实现,下面将介绍HDFS。

二、HDFS的设计

HDFS以流式数据访问模式来存储超大文件,运行于商用硬件集群上。
适合使用HDFS的场景:

  • 存储超大文件。超大文件是指具有几百MB、几百GB,甚至几百TB大小的文件。
  • 流式数据访问。HDFS认为一次写入多次读写是最为高效的访问模式。数据集通常由数据源不断产生,或者从数据源复制而来,接着长时间都在数据集上进行各种分析,每次都读取数据集的大部分内容甚至是全部内容,因此读取整个数据集的时延必读取第一条数据的时延更为重要。
  • 运行在廉价设备上。Hadoop并不需要运行在昂贵且高可靠的设备之上,只需运行在廉价的商用硬件上即可。

不适合使用HDFS的场景:

  • 低时间延迟的数据访问。HDFS是为高吞吐量应用优化的,这是以牺牲低时间延时访问为代价的。为此有了一个解决方案,那就是使用HBase。
  • 大量的小文件。namenode节点管理HDFS的目录树,文件系统的元信息存储在该节点上。一般而言,一个文件、目录和数据块的元信息大小为150字节,存储一百万个文件只需要花30MB空间存储元信息,但是如果有数十亿文件则就会超出namenode节点的存储能力,这时候namenode节点便成为了集群的存储瓶颈。
  • 多用户写入,任意修改文件。HDFS可能只有一个writer,而且写操作总是将数据追加到位末尾,它不支持具有多个写入者的操作。

三、HDFS的概念

1.数据块

在计算机中,数据存储在磁盘上,磁盘有默认的块大小,这是磁盘存储数据的最小单位。构建于单个磁盘之上的文件系统通过磁盘的块来管理该文件系统中的块。磁盘块大小一般是512字节,文件系统的块大小一般是磁盘块的整数倍,为几千字节。

HDFS也有块的概念,且比较大,它是HDFS存储的最小逻辑单元。在Hadoop 1.x的时候默认一个块的大小是64MB,在2.x后默认一个块的大小是128MB。在HDFS上的文件也会被分割为若干块,作为单独的存储单元,但是与其他文件系统不同的是,在HDFS中小于默认块大小的文件不会占据整个块空间。块的设计有许多好处:

  • 轻松存储超大文件。一个文件可以大于集群中任意一个存储节点的磁盘大小,因为文件会被分成若干个块分布在整个集群上被存储。
  • 简化了存储子系统的设计。其实就是简化了对于数据
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/65977804 【完整课程列表】 大数据与云计算教程课件 优质大数据课程 01.Hadoop简介与安装入门(共29页).pptx 大数据与云计算教程课件 优质大数据课程 02.MapReduce(共23页).pptx 大数据与云计算教程课件 优质大数据课程 03.Hadoop YARN(共25页).pptx 大数据与云计算教程课件 优质大数据课程 04.MapReduce Eclipse开发插件(共20页).pptx 大数据与云计算教程课件 优质大数据课程 05.Hadoop入门数据分析实战(共57页).pptx 大数据与云计算教程课件 优质大数据课程 06.HDFS(共38页).pptx 大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共29页).pptx 大数据与云计算教程课件 优质大数据课程 10.MapReduce MP过程进阶(共42页).pptx 大数据与云计算教程课件 优质大数据课程 11.MapReduce IO操作(共61页).pptx 大数据与云计算教程课件 优质大数据课程 12.序列化框架(共28页).pptx 大数据与云计算教程课件 优质大数据课程 13.深入MapReduce应用开发(共21页).pptx 大数据与云计算教程课件 优质大数据课程 14.Hadoop集群配置(共6页).pptx 大数据与云计算教程课件 优质大数据课程 15.Hive(共46页).pptx 大数据与云计算教程课件 优质大数据课程 16.Hive操作(共43页).pptx 大数据与云计算教程课件 优质大数据课程 17.Hive查询(共32页).pptx 大数据与云计算教程课件 优质大数据课程 18.HBase(共43页).pptx 大数据与云计算教程课件 优质大数据课程 19.Pig(共33页).pptx 大数据与云计算教程课件 优质大数据课程 20.Pig Latin(共36页).pptx 大数据与云计算教程课件 优质大数据课程 21.Pig模式与函数(共64页).pptx 大数据与云计算教程课件 优质大数据课程 22.Zookeeper(共28页).pptx 大数据与云计算教程课件 优质大数据课程 23.Zookeeper服务(共47页).pptx 大数据与云计算教程课件 优质大数据课程 24.使用Zookeeper构建应用(共34页).pptx 大数据与云计算教程课件 优质大数据课程 25.Sqoop(共19页).pptx 大数据与云计算教程课件 优质大数据课程 26.深入Sqoop的导入(共29页).pptx 大数据与云计算教程课件 优质大数据课程 27.深入Sqoop导出(共19页).pptx 大数据与云计算教程课件 优质大数据课程 28.Flume(共33页).pptx 大数据与云计算教程课件 优质大数据课程 29.Kafka(共30页).pptx 大数据与云计算教程课件 优质大数据课程 30.Kafka开发(共34页).pptx 大数据与云计算教程课件 优质大数据课程 31.Strom(共14页).pptx 大数据与云计算教程课件 优质大数据课程 32.Spark入门之Scala(共173页).pptx 大数据与云计算教程课件 优质大数据课程 33.Spark入门(共40页).pptx 大数据与云计算教程课件 优质大数据课程 34.SparkSQL(共15页).pptx 大数据与云计算教程课件 优质大数据课程 35.Oozie(共41页).pptx 大数据与云计算教程课件 优质大数据课程 36.Impala(共20页).pptx 大数据与云计算教程课件 优质大数据课程 37.Solr(共38页).pptx 大数据与云计算教程课件 优质大数据课程 38.Lily(共23页).pptx 大数据与云计算教程课件 优质大数据课程 39.Titan(共20页).pptx 大数据与云计算教程课件 优质大数据课程 40.Neo4j(共50页).pptx 大数据与云计算教程课件 优质大数据课程 41.Elasticsearch(共17页).pptx

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值