Hadoop1.x之hdfs

本文详细介绍了Hadoop的分布式文件系统HDFS,包括其优缺点、运行机制、存储单元Block以及读写流程,是理解Hadoop分布式存储的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hdfs全称Hadoop Distributed File System(hadoop分布式文件系统)

HDFS优缺点:

hdfs优点hdfs缺点
  • 高容错性
    • 数据自动保存多个副本
    • 副本丢失后自动恢复
  • 适合批处理
    • 移动计算而非数据
    • 数据位置暴露给计算框架
  • 适合大数据处理
  • 可构建在廉价机器上
    • 通过多副本提高可靠性
    • 提供了容错和恢复机制
  • 低延迟数据访问
    • 低延迟与高吞吐率
  • 小文件存取
    • 占用NameNode大量内存
    • 寻道时间超过读取时间
  • 并发写入、文件随机修改
    • 一个文件只能有一个写者
    • 仅支持append

HDFS运行机制:

  • 一个NameNode和多个DataNode
  • 数据复制(冗余机制)
    --存放的位置(机架感知策略)
  • 故障检测
    --DataNode
      心跳包(检测是否宕机)
      块报告(安全模式下检测)
      数据完整性检测(校验和比较)
    --NameNode(日志文件和镜像文件)
  • 空间回收机制

HDFS存储单元block

  • 文件被切分成固定大小的数据块
      --默认数据块大小为64MB,可配置
      --如果文件大小不足64MB,则单独存成一个block
  • 文件的存储方式
      --按照大小被切分成若干个block,存储到不同的节点
      --默认情况下每个block都有三个副本
  • Block大小和副本数量通过Client端上传文件时设置,文件上传成功后副本数可以变更,但Block-Size不可变更
Block副本放置策略

  • 第一个副本:放置在上传文件的DataNode;如果是集群外提交,则随即选择一台磁盘不太满,CPU不太忙的节点
  • 第二个副本:放置在与第一个副本不同机架的节点上
  • 第三个副本:放置在与第二个副本相同机架的节点上
  • 更过副本:随机节点
NameNode、DataNode和SecondaryNameNode

NameNode(NN)DataNode(DN)SecondaryNameNode(SNN)
  • 主要功能:接受客户端的读写服务
    --文件的owership和permissions
    --文件包含哪些Block
    --Block保存在哪些DN上(由DN启动时上报)
  • 保存metadata信息
  • NN的metadata信息启动时会加载到内存
    --metadata储存到磁盘文件名为fsimage
    --Block的位置信息不会保存到fsimage
    --edits记录对metadata的操作日志
  • 存储数据(Block)
  • 启动DN线程时会想NN回报Block信息
  • 通过向NN发送心跳保持联系,如果NN10分钟没有受到DN的心跳,则认为i其已经lost
  • SNN不是NN的备份,主要工作是帮助NN合并editslog,减少NN启动时间
  • SNN执行合并时机
    --根据配置文件设置的时间间隔fs.checkpoint.period默认3600秒
    --根据配置文件设置的editslog大小fs.checkpoint.size规定edits文件的最大默认值是64MB
SNN合并过程:

HDFS读流程:


HDFS写流程:

*上文图片均来自bjsxt肖斌Hadoop课程视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值