初识Hdfs

本文介绍了Hadoop分布式文件系统HDFS的基本概念、设计思路、基本框架及读写流程。HDFS适用于存储超大文件,采用一次写入、多次读取的模式,运行在普通硬件上,具有高容错性和高吞吐量的特点。文章还讨论了NameNode、DataNode的角色,以及Secondary NameNode的作用,并详细阐述了HDFS的读写过程。
摘要由CSDN通过智能技术生成

 hadoop分为三个组件

  • HDFS负责海量数据的分布式存储   (存储数据)
  • MapReduce是一个计算模型,负责海量数据的分布式计算  (计算,生产不用,设计理念指导其他框架,spark、flink  )
  • YARN主要负责集群资源的管理和调度

HDFS概念

分布式文件系统的特点:
1、分布式文件系统可以有效解决数据的存储和管理难题
2、将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统
3、众多的节点组成一个文件系统网络
4、每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输
5、在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数

        Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。

HDFS具有高度容错能力,旨在部署在低成本硬件上。 
HDFS提供对应用程序数据的高吞吐量访问,适用于具有大型数据集的应用程序。 
HDFS放宽了一些POSIX要求,以实现对文件系统数据的流式访问

HDFS优势:

1、可构建在廉价机器上,设备成本相对低 
2、高容错性,HDFS将数据自动保存多个副本,副本丢失后,自动恢复,防止数据丢失或损坏
3、适合批处理,HDFS适合一次写入、多次查询(读取)的情况,适合在已有的数据进行多次分析,稳定性好
4、适合存储大文件,其中的大表示可以存储单个大文件,因为是分块存储,以及表示存储大量的数据

HDFS劣势:

1、由于提高吞吐量,降低实时性
2、由于每个文件都会在namenode中记录元数据,如果存储了大量的小文件,会对namenode造成很大的压力
3、不合适小文件处理,在mapreduce的过程中小文件的数量会造成map数量的增大,导致资源被占用,而且速度慢。
4、不适合文件的修改,文件只能追加在文件的末尾,不支持任意位置修改,不支持多个写入者操作

HDFS设计思路

 1、存储超大文件

    这里的“超大文件”是指几百MB、GB甚至TB级别的文件。

2、最高效的访问模式是 一次写入、多次读取(流式数据访问)

    HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。

3、运行在普通廉价的服务器上

HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。

如何实现的呢?

1.大文件被切割成小文件,使用分而治之的思想让很多服务器对同一个文件进行联合管理

2. 每个小文件做冗余备份,并且分散存到不同的服务器,做到高可靠不丢失

HDFS的基本框架图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值