HDFS的读写流程是什么
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,今天小编给大家分享一下HDFS的读写流程是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解
千家信息网最后更新 2026年10月31日HDFS的读写流程是什么
今天小编给大家分享一下HDFS的读写流程是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
1.读文件的流程
如图所示,读文件的流程主要包括以下6个步骤:
打开分布式文件:调用分布式文件 DistributedFileSystem.open( ) 方法; 寻址请求:从 NameNode 处得到 DataNode 的地址,DistributedFileSystem使用 RPC 方式调用了NameNode,NameNode 返回存有该副本的DataNode 地址,DistributedFileSystem 返回了一个输入流对象(FSDataInputStream),该对象封装了输入流 DFSInputStream; 连接到DataNode:调用输入流 FSDataInputStream.read( ) 方法从而让DFSInputStream 连接到 DataNodes; 从 DataNode 中获取数据:通过循环调用 read( ) 方法,从而将数据从 DataNode 传输到客户端; 读取另外的 DataNode 直到完成:到达块的末端时候,输入流 DFSInputStream 关闭与 DataNode 连接, 寻找下一个 DataNode; 完成读取,关闭连接:即调用输入流 FSDataInputStream.close( );
2.写文件流程
发送创建文件请求:调用分布式文件系统 DistributedFileSystem.create( )方法; NameNode 创建文件记录:分布式文件系统 DistributedFileSystem 发送 RPC 请求给 NameNode,NameNode 检查权限后创建一条记录,返回输出流 FSDataOutputStream,封装了输出流 DFSOutputDtream; 客户端写入数据:输出流 DFSOutputDtream 将数据分成一个个的数据包,并写入内部队列。DataStreamer 根据 DataNode 列表来要求 NameNode 分配适合的新块来存储数据备份。 一组 DataNode 构成管线(管线的 DataNode 之间使用 Socket 流式通信); 使用管线传输数据:DataStreamer 将数据包流式传输到管线第一个DataNode,第一个 DataNode 再传到第二个DataNode,直到完成; 确认队列:DataNode 收到数据后发送确认,管线的 DataNode 所有的确认组成一个确认队列。所有 DataNode 都确认,管线数据包删除; 关闭:客户端对数据量调用 close( ) 方法。将剩余所有数据写入DataNode管线,联系NameNode并且发送文件写入完成信息之前等待确认; NameNode确认: 故障处理:若过程中发生故障,则先关闭管线,把队列中所有数据包添加回去队列,确保数据包不漏。为另一个正常 DataNode 的当前数据块指定一个新的标识,并将该标识传送给 NameNode,一遍故障 DataNode 在恢复后删除上面的不完整数据块。从管线中删除故障 DataNode 并把余下的数据块写入余下正常的 DataNode。NameNode 发现复本两不足时,会在另一个节点创建一个新的复本;
在数据的读取过程中难免碰到网络故障,脏数据,DataNode 失效等问题,这些问题 HDFS 在设计的时候都早已考虑到了。下面来介绍一下数据损坏处理流程:
当 DataNode 读取 block 的时候,它会计算 checksum。 如果计算后的 checksum,与 block 创建时值不一样,说明该 block 已经损坏。 Client 读取其它 DataNode上的 block。 NameNode 标记该块已经损坏,然后复制 block 达到预期设置的文件备份数 。 DataNode 在其文件创建后验证其 checksum。
以上就是"HDFS的读写流程是什么"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
数据
文件
管线
流程
故障
方法
队列
输入
分布式
知识
篇文章
客户
客户端
时候
传输
输出
内容
地址
复本
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司怎么样
高科技互联网
科技股互联网
互联网电商科技
互联网科技开发公司
互联网的科技创新
互联网科技股票
睿民互联网科技
互联网科技公司介绍
互联网金融监管科技
宁波青枫互联网科技有限公司
互联网金融科技公司干啥的
乌鲁木齐新华智原互联网科技学校
互联网科技公司营业执照怎么办理
工业互联网展湾科技股份有限公司
富国互联网金融科技混合基金
盐城市攀科互联网科技有限公司
黑龙江互联网科技公司
互联网科技自媒体灵感
互联网科技创业有什么好项目
疫情对互联网科技公司影响
美国互联网科技
美国互联网黑科技
沃里互联网科技
奔汉互联网科技
人人互联网科技是培训
盛创互联网科技有限公司
隆华科技工业互联网
互联网科技与管理
电子商务与互联网科技的关系