
一、客户端发送请求
客户端执行上传文件的命令:hdfs dfs -put a.avi /movie。
二、DFSClient.java 创建 DistributedFileSystem
请求首先被 DFSClient.java 这个类获取到,由该类创建 DistributedFileSystem 对象。
三、建立 RPC 通信,获得 NameNode 的代理对象
DistributedFileSystem 建立与 NameNode 之间的 RPC 通信,并且得到一个 NameNode 的代理对象:NameNodeProxies。
NameNodeProxies 是个复数,是因为我们为了保证 HA(高可用),会使用多个 NameNode 节点。
四、请求创建文件的元信息
由 NameNodeProxies 去请求 NameNode 创建文件的元信息。
五、创建文件的元信息
NameNode 创建文件的元信息,元信息的内容如下:
{
"文件名" :

本文详细介绍了HDFS文件上传的过程,从客户端发送请求开始,经DFSClient创建DistributedFileSystem,建立RPC通信与NameNode交互,请求创建并缓存文件元信息,再通过输出流上传数据块,实现数据冗余复制,确保文件安全可靠地存储在HDFS中。
—— HDFS 文件上传的过程&spm=1001.2101.3001.5002&articleId=84454512&d=1&t=3&u=a91beb4ff34f46b785b1d09fd4a24153)
1789

被折叠的 条评论
为什么被折叠?



