大数据学习之Hadoop——03HDFS概念

本文详细介绍了HDFS的概述,包括其产生的背景、优缺点、组成架构(NameNode、DataNode、Client、Secondary NameNode)以及Block块的大小。重点讲述了HDFS的写入和读取流程,提供了shell操作的示例,如创建文件夹、文件上传等。此外,还讨论了HDFS 2.x的产生背景、特点,特别是HDFS HA解决方案。
摘要由CSDN通过智能技术生成

一. HDFS概述

1. HDFS产出背景及定义

  1. HFDS产生的背景
    随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。
  2. HDFS的定义
    HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。

2. HDFS的优缺点

  1. 优点
    • 高容错性
      数据自动保存多个副本. 可以通过增加副本的形式, 提高容错性.
      某一个副本丢失以后, 它可以自动恢复.
    • 适合批处理
      计算向数据移动
    • 适合处理大数据
      数据规模: 处理数据规模可达TB, 甚至是PB级别
      文件规模: 处理文件数量可达百万级别
    • 可构建在廉价机器上, 通过多副本机制, 提高可靠性
  2. 缺点
    • 不适合低延时数据访问
    • 无法高效的对大量小文件进行存储,
      占用NameNode大量的内存来存储文件目录和块信息
      寻道时间超过读取时间,就违反了HDFS的设计目标。
    1. 不支持并发写入和文件随机修改
      一个文件只能有一个写, 不允许多个线程同时写
      仅支持数据append(追加), 不支持文件的随机修改.

3. HDFS的组成架构

1. NameNode(NN)
  1. 基于内存存储, 不与磁盘发生交换
  2. NameNode主要功能
    • 收集DataNode汇报的Block列表信息
    • 处理客户端读写请求
    • 管理HDFS的命名空间
    • 配置副本策略
  3. NameNode保存metadata信息包括:
    • 文件owership 和 permissions
    • 文件大小, 时间
    • Block列表: 偏移量, 位置信息(持久化不存)
    • Block每个副本的位置, 由DataNode上报
  4. NameNode持久化
    • NameNode的metadata信息在启动后会加载到内存
    • metadata存储到磁盘文件名为”fsimage”(时点备份)
    • Block的位置信息不会保存到fsimage
    • edits记录对metadata的操作日志 -> Redis
    • 二者的产生时间和过程?(format)
2. DataNode(DN)
  1. 存储实际的Block
  2. 存储Block的元数据信息文件
  3. 启动DataNode是会向NameNode汇报block信息
  4. 执行数据库的读/写操作
  5. DataNode与NameNode保持心跳, 提交Block列表
3. Client
  1. 文件切分, 文件上传HDFS时, Client将文件切分成一个一个的Block, 然后上传
  2. 与NameNode交互, 获取文件的位置信息
  3. 与DataNode交互, 读取或写入数据
4. Secondary NameNode
  1. 并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务
  2. 帮助NameNode合并edits log, 减少NameNode的启动时间
  3. 在紧急情兄下,可辅助恢复NarmeNode
  4. SNN执行合并的时机
    • 根据配置文件设置的时间间隔fs.checkpoint.period 默认3600秒
    • 根据配置文件设置edits log大小 fs.checkpoint.size 规定edits文件的最大值默认是64MB
  5. SNN合并流程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值