大数据--hadoop生态--hdfs最全总结

本文深入探讨了Hadoop生态系统中的HDFS,包括其主要组件如NameNode、SecondaryNameNode和DataNode的功能。详细阐述了HDFS的数据存储原理,如冗余数据保存、数据存取策略、块大小和错误恢复机制。此外,还介绍了HDFS的读写数据过程,DataNode的工作机制以及高可用性原理。最后,列举了一些常用的HDFS命令。
摘要由CSDN通过智能技术生成

目录

第二章:HDFS

2.1 hdfs主要组件及其功能

2.1.1 Hdfs的组成

2.1.2 SecondaryNameNode

2.2 hdfs数据存储原理

2.2.1 冗余数据保存

2.2.2 数据存取策略

2.2.3 HDFS块的大小

2.2.4 数据错误与恢复

2.3 hdfs读写数据过程

2.3.1 读数据过程

2.3.2 写数据过程

2.4 DataNode工作机制

2.5 hdfs高可用原理

2.6 hdfs常用命令

命令会导出到当前目录下面)


第二章:HDFS

2.1 hdfs主要组件及其功能

2.1.1 Hdfs的组成

        hdfs包括namenode,secondarynamenode, datanode.其中,名称节点(NameNode)负责管理分布式文件系统的命名空间,保存了两个核心的数据结构,FsImage和EditLog.

FsImage: 用于维护文件系统树以及文件树中的所有的文件和文件夹的元数据.

EditLog:记录了所有针对文件的创建,删除,重命名等操作。

名称节点在启动时,会将FsImage的内容加载到内存中,然后执行EditLog文件中的各项操作,使得内存中的元数据保持最新。

2.1.2 SecondaryNameNode

      为了有效解决EditLog逐渐变大带来的问题,HDFS在设计中采用了第二名称节点。第二名称节点具有两个方面的功能:

首先,它可以完成EditLog和FsImage的合并操作,减少EditLog文件大小,缩短名称节点重启时间;其次,他可以作为名称节点的“检查点”,保存名称节点中的元数据信息。

1)EditLog与FsImage的合并操作。

        每隔一段时间,第二名称节点会和名称节点进行通信,请求其停止使用EditLog文件,暂时将新到达的写操作添加到新的EditLog.new文件中。然后把第二名称节点中的FsImage文件和EditLog拉回本地,再加载到内存中;对二者进行合并操作,即在内存中逐条执行EditLog中的操作,使FsImage保持最新。合并结束后,第二名称节点会把合并后得到的最新FsImage文件发送到名称节点。名称节点收到后,会用最新的FsImage文件去替换旧的FsImage文件,同时用EditLog.new文件去替换EditLog文件,从而减小了EditLog文件的大小。

2)作为名称节点的“检查点”。从上面的合并过程可以看出,第二名称节点会定期和名称节点通信,从名称节点获取FsImage文件和EditLog,执行合并后得到新的 FsImage文件。从这个角度来讲 ,第二名称节点相当于为名称节点设置一个检查点,周期性低备份名称节点中的元数据信息,当名称节点发送故障的时候,就可以用第二名称节点中记录的元数据信息进行系统恢复。但是,在第二名称节点上合并操作得到的新的FsImage文件是合并操作发生时(即t1时刻)HDFS记录的元数据信息,并没有包含t1,t2时刻期间发生的更新操作。如果名称节点在t1时刻和t2时刻期间发生故障,系统就会丢失部分元数据信息。 注意:在HDFS的设计中,也并不支持把系统切换到第二名称节点,因此从这个角度来说,第二名称节点只是起到了名称节点检查点的作用,并不能起到热备份的作用,即使有了第二名称节点,当名称节点发送故障的时候,系统还是可能会丢失部分元数据信息。

2.2 hdfs数据存储原理

2.2.1 冗余数据保存

        HDFS作为一个分布式文件系统,为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上。这种多副本保存方式优点:

  • 加快数据传输速度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值