本文对GFS&HDFS进行简要整理
GFS
- GFS架构
- GFS Master
// 管理所有的文件元数据(存在于Memory中)
// 对Chunk创建及管理:
· 文件和Chunk命令空间(log持久化)
· 文件和Chunk对应关系(log持久化)
· 每个Chunk副本存放位置(轮询) - GFS chunkserver
· 存储Chunk的实际位置信息
· Chunk以Linux文件形式存储在本地磁盘 - 写入流程
· Client的数据沿着精心选择的Chunk服务器链推送
· 由Primary Replica对写操作状态进行维护
HDFS
- HDFS架构
· NameNode → GFS Master
· DataNode → GFS ChunkServer
HDFS和GFS区别
- 块大小
· GFS: 64MB
· HDFS: 128MB - 块位置
· GFS: 轮询,不持久化
· HDFS: 持久化 - 写操作
· GFS: 对同一文件,在同一时刻允许多个Client write/append
· HDFS: 对同一文件,在同一时刻只允许一个Client write/append
最终一致性
一致性参考网址 - 知乎
· client通过异步从库读取时,若此异步从库还未复制主库内容,则client会看到过时信息;但该不一致是暂态,因为异步从库最终会与主库保持一致。(这成为最终一致性)