hadoop hdfs 读写流程

本文详细介绍了Hadoop Distributed File System(HDFS)的工作原理,包括HDFS的block、packet和chunk的概念,以及HDFS的写入和读取流程。在写流程中,数据通过pipeline在DataNodes间传递,每个DataNode在写完一个block后返回确认信息。读流程相对简单,客户端从NameNode获取数据块位置列表,然后从DataNode读取数据。数据完整性通过校验和确保,客户端会在读取后验证校验和。网络拓扑概念中,节点距离根据它们到达最近共同祖先的路径长度计算。

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

概述

开始之前先看看其基本属性,HDFS(Hadoop Distributed File System)是GFS的开源实现。

特点如下:

  • 能够运行在廉价机器上,硬件出错常态,需要具备高容错性
  • 流式数据访问,而不是随机读写
  • 面向大规模数据集,能够进行批处理、能够横向扩展
  • 简单一致性模型,假定文件是一次写入、多次读取

缺点:

  • 不支持低延迟数据访问
  • 不适合大量小文件存储(因为每条元数据占用空间是一定的)
  • 不支持并发写入,一个文件只能有一个写入者
  • 不支持文件随机修改,仅支持追加写入

HDFS中的block、packet、chunk

介绍HDFS读写流程上来就直接从文件分块开始,其实,要把读写过程细节搞明白前,了解block、packet与chunk。下面分别讲述。

  1. block 
    这个大家应该知道,文件上传前需要分块,这个块就是block,一般为128MB,当然你可以去改,不顾不推荐。因为块太小:寻址时间占比过高。块太大:Map任务数太少,作业执行速度变慢。它是最大的一个单位。

  2. packet 
    packet是第二大的单位,它是client端向DataNode,或DataNode的PipLine之间传数据的基本单位,默认64KB。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值