大数据Hadoop之HDFS读取过程总结

这里写图片描述

读取流程原理:
1.HDFS Client与NN通信,获取文件信息:
文件有多少块,分别在哪些DN上
2.业务调用read API 进行读写文件操作
3.HDFS Clien根据NN返回的元数据信息,与DN通信
此处Client采用就近原则读取数据,数据有多块时,不同DN,Client会同时与多个DN通信,获取数据块
4.数据读取完成以后,业务调用close关闭连接,读取结束

当Client与NN通信时,NN有验证机制,
验证1:Client发送的请求信息,是否存在
验证2:Client发送的请求,权限是否满足

NN验证机制通过以后,给Client返回的信息内容包含:
1.此文件分成了多少个块
2.这些快分别在哪些DN上,即DN的位置信息

Client读取数据的就近原则:
就近原则:近:响应请求的时间短
即:在两个或者多个副本时,Client会选择响应时间最短的那个副本进行读取操作,也就是选择最优的副本进行读写

HDFS架构其他关键设计要点说明
1.统一的文件系统名字空间:
HDFS对外仅呈现一个统一的文件系统。
2.统一的通讯协议
统一采用RPC方式通信。 NameNode被动的接收Client, DataNode的RPC请求。
特殊:SN与NN的通讯协议为http
3.空间回收机制
支持回收站机制,以及副本数的动态设置机制。
副本数动态机制,只能增加,不能减少
4.数据组织
数据存储以数据块为单位,存储在操作系统的文件系统上。
分块时。最后一块的空间大小是文件的实际大小,并非128M
5.访问方式
提供JAVA API,HTTP方式,SHELL方式访问HDFS数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值