💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
:-: ![](https://img.kancloud.cn/c2/63/c263ee871614fe3f32feab7e9ffa8f6a_457x273.png) HDFS写流程 1. 客户端通过 Distributed FileSystem 模块向 NameNode 请求上传文件,NameNode 检查目标文件是否已存在,父目录是否存在。 2. NameNode 返回是否可以上传。不能上传会返回异常。 3. 确定可以上传,客户端请求第一个 block 上传到哪几个 datanode 服务器上。 4. NameNode 返回 3 个 datanode 节点,假定分别为 dn1、dn2、dn3。 5. 客户端通过 FSDataOutputStream 模块请求 dn1 上传数据,dn1 收到请求会继续调用 dn2,然后 dn2 调用 dn3,将这个通信管道建立完成。 6. dn1、dn2、dn3 逐级应答客户端。 7. 客户端开始往 dn1 上传第一个 block(先从磁盘读取数据放到一个本地内存缓存),以 packet(64KB)为单位,dn1 收到一个 packet 就会传给 dn2,dn2传给 dn3;dn1 每传一个 packet 会放入一个应答队列等待应答。 8. 当一个 block 传输完成之后,客户端再次请求 NameNode 上传第二个 block的服务器。(重复执行 3-7 步)。