资讯动态

HDFS面经总结

发布时间:2026/10/14 21:51:25 来源:尧图企业网站定制
HDFS读取流程首先创建一个FileSystem对象调用open方法通过RPC请求NameNode打开文件。NameNode会检查权限、目录、文件在不在检查通过就把结果返回。接着客户端拿到一个输入流向NameNode问第一个块的所有副本在哪。返回的地址列表是按距离排好序的离客户端近的排前面。客户端就挑最近的那个DataNode去连然后在流里反复调read把这个块读完。读完一块关掉连接再找下一块的最佳DataNode接着读。最后整个文件读完调close把读到的所有块拼成一个完整的文件。HDFS写入流程首先客户端找NameNode请求创建文件NameNode检查三件事权限够不够、父目录在不在、文件是不是已经存在。检查通过它就会建一个空的Entry返回成功。然后客户端问NameNode第一个块放哪NameNode按机架感知策略返回3个DataNode。比如DN1、DN2、DN5、然后客户端向DN1请求写DN1去调DN2DN2去调DN5一级一级把管道建起来建好之后逐级应答客户端。然后再到真正传数据数据是按Packet为单位切的默认64k一个块传完客户端再问第二个块的位置重复这套动作直到所有块都传完最后调close关闭输出流通知NameNode文件写完了NameNode把文件、块、DataNode的映射记到元数据里。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑