开发者社区> 问答> 正文

GFS分布式文件系统写数据的流程是怎样的?

GFS分布式文件系统写数据的流程是怎样的?

展开
收起
Medusa 2022-01-13 18:02:08 1822 0
1 条回答
写回答
取消 提交回答
  • 因为GFS需要将数据存储到多个Chunk 服务器上,这就涉及多个 Chunk 服务器写数据的问题。Master 服务器需要在多个Chunk 服务器中选出一个主 Chunk 服务器,由主 Chunk 服务器通知其他 Chunk 服务器写入数据。

    如下图所示,GFS写入数据的流程是:

    配图10.png

    (1)客户端向 Master 服务器发起写入数据请求。

    (2)Master 服务器选定要写入的 Chunk 服务器,由于默认每份数据保存到 3 个不同的Chunk服务器上,因此要选定3个不同的Chunk服务器。

    Master服务器创建虚拟Chunk文件,映射存储文件与 Chunk 的映射关系、Chunk 文件与 Chunk 服务器的映射关系,同时要选定主 Chunk 服务器。Master 服务器完成这一系列流程后,向客户端返回 Chunk 服务器的信息,这些信息都是包含在元数据中的。

    (3)客户端向主 Chunk 服务器发送要写入的文件,主 Chunk 服务器缓存要写入的文件。

    (4)客户端向备 Chunk 服务器发送要写入的文件,备 Chunk 服务器缓存要写入的文件。

    (5)客户端向主 Chunk 服务器发送控制写流程。

    (6)主 Chunk 服务器收到客户端发送的控制写流程后,开始向自身服务器写入相应的数据,同时会通知备 Chunk 服务器写入数据。

    (7)备 Chunk 服务器执行完写数据操作后,会向主 Chunk 服务器返回写入结果。主Chunk 服务器最少一个副本写入成功,则视为数据写入成功,否则视为数据写入失败。

    (8)主 Chunk 服务器向客户端返回最终的数据写入结果。

    以上内容摘自《海量数据处理与大数据技术实战》电子书,点击https://developer.aliyun.com/topic/download?id=8205可下载完整版

    2022-01-13 20:14:16
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
高并发分布式缓存Redis6.0 立即下载
基于社区的分布式 风险感知模型 立即下载
如何利用Redisson分布式化传统Web项目 立即下载

相关实验场景

更多