【Hadoop入门学习系列之二】HDFS架构和编程

一. HDFS概述

1.HDFS是什么?

  • 源自于Google的GFS论文
    • 发表于2003年10月
    • HDFS是GFS克隆版
  • Hadoop Distributed File System
    • 易于扩展的分布式文件系统
    • 运行在大量普通廉价机器上,提供容错机制
    • 为大量用户提供性能不错的文件存取服务

2.HDFS优缺点

优点

  • 高容错性
    • 数据自动保存多个副本
    • 副本丢失后,自动恢复
  • 适合批处理
    • 移动计算而非数据
    • 数据位置暴露给计算框架
  • 适合大数据处理
    • GB、 TB、甚至PB级数据
    • 百万规模以上的文件数量
    • 10K+节点规模
  • 流式文件访问
    • 一次性写入,多次读取
    • 保证数据一致性
  • 可构建在廉价机器上
    • 通过多副本提高可靠性
    • 提供了容错和恢复机制

缺点

  • 低延迟数据访问
    • 比如毫秒级
    • 低延迟与高吞吐率
  • 小文件存取
    • 占用NameNode大量内存
    • 寻道时间超过读取时间
  • 并发写入、文件随机修改
    • 一个文件只能有一个写者
    • 仅支持append

二. HDFS基本架构和原理

1.HDFS设计思想

HDFS设计思想
解释:从HDFS的设计思想上可知,HDFS最适合处理大容量的单个数据,可以将该数据分成n个block,每个block是64M,每个block存取多份,具体份数是通过hdfs-site.xml文件中的fs.replication配置,而且每个block存取的节点不能完全重叠,但要保证最终可以合成原文件。

2.HDFS架构

HDFS架构
HDFS数据块

3.HDFS数据块(block)

  • 文件被切分成固定大小的数据块
    • 默认数据块大小为64MB,可配置
    • 若文件大小不到64MB,则单独存成一个block
  • 为何数据块如此之大
    • 数据传输时间超过寻道时间(高吞吐率)
  • 一个文件存储方式
    • 按大小被切分成若干个block,存储到不同节点上
    • 默认情况下每个block有三个副本

4.HDFS读写流程

读流程
读流程

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值