初识大数据BigData(笔记2)

分布式文件系统HDFS简介

文件系统结构:
在这里插入图片描述

HDFS实现目标:
  1. 兼容廉价的硬件设备
  2. 实现流数据读写
  3. 支持大数据集
  4. 支持简单的文件模型
  5. 强大的跨平台兼容性
HDFS自身的局限性:

1.不适合低延迟数据访问
2. 无法高效存储大量小文件
3. 不支持多用户写入及任意修改文件

HDFS两大组件:
  • 名称节点(Namenode)
    其中名称节点包括FsImage(保存系统文件树)和EditLog(记录对数据进行的诸如创建、删除、重命名等操作)。
    FsImage存储的元数据包括文件的复制等级、修改时间和访问时间、访问权限、块大小以及组成文件的块。另外,第二名称节点(SecondaryNamenode)的作用是作为名称节点(Namenode)的冷备份和对EditLog不断增大问题的处理。
  • 数据节点(DataNode),负责具体数据的存储。
    HDFS命名空间:包括目录、文件和块。
    HDFS的通信协议如下图:
    在这里插入图片描述
    HDFS 1.0 版本的局限性:
  • 命名空间限制:名称节点是保存在内存中的,因此,名称节点能够容纳的对象(文件、块)的个数会受到空间大小的限制。
  • 性能的瓶颈:整个分布式文件的吞吐量,受限于单个名称节点的吞吐量。
  • 隔离问题:由于集群中只有一个名称节点,只有一个命名空间,因此无法对不同应用程序进行隔离。
  • 集群的可用性:一旦这个唯一的名称节点发生故障,会导致整个集群变得不可用。

这些局限性在HDFS 2.0中都得到了解决,HDFS 2.0中设置了两个名称节点而且还设置成热备份。

HDFS的存储原理
  • 冗余数据保存的问题
  • 数据保存策略问题
  • 数据恢复的问题
    冗余数据保存的问题:一个数据都是以块保存,,默认冗余因子是3,一个数据会被默认保存为3份。
    冗余的优点:加快数据传输速度、很容易检查数据错误以及保证数据可靠性。
    数据存放策略:假如说冗余因子是3,当机器内部的数据节点写入数据时,数据块的第一个副本就放到写入数据节点的位置,第二个副本放在和第一个副本不同机器上面的数据节点,第三个副本放在和第一个副本同一个机器上面的不同数据节点上面。
    数据读取策略如下图:
    在这里插入图片描述
    数据的错误与恢复包括名称节点出错、数据节点出错和数据本身出错三种情况。
    名称节点出错:在这里插入图片描述
    数据节点出错:数据节点会一直与名称节点进行通信,告诉名称节点自己还处于活着的状态即心跳,如果数据节点出错了,名称节点就不会收到数据节点的通信信息(心跳)即处于宕机状态,这时名称节点就会把数据节点的数据备份到其他正常的数据节点。
    在这里插入图片描述
    数据本身出错: 数据出错是通过判断校验码来进行的。如下图所示:
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值