A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


读取流程原理:
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数据
---------------------
【转载】
作者:爱玩光圈
原文:https://blog.csdn.net/qq_41919284/article/details/81253987


2 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马