一、GFS

Google File System就是HDFS的前身

HDFS 参照了GFS的设计理念,大部分架构设计概念是类似的,比如 HDFS NameNode 相当于 GFS Master,HDFS DataNode 相当于 GFS chunkserver\

1.设计目标:

  • 多个客户端可以在不需要额外的同步锁定的 情况下,同时对一个文件追加数据

一个问题:

一个 Chunk块为64MB,HDFS中的一个块大小也64MB,但是一般的文件系统中一个磁盘块大小只有512B

=> 那么为什么分布式文件系统中的一个数据块要设置的这么大呢?

0. 目的是为了最小化寻址开销,

1. 采用较大的 Chunk 尺寸,客户端能够对一个块进行多次操作,这样就可以 通过与 Chunk 服务器保持较长时间的 TCP 连接来减少网络负载

2.架构:

  • Master 节点使用心跳信息周期地和每个 Chunk 服务器通讯,发送指令到各个 Chunk 服务器并接收 Chunk 服务器的状态信息。
  • 客户端并不通过 Master 节点读写文件数据。反之,客户端向 Master 节点询问它应该联系的 Chunk 服务器。 客户端将这些元数据信息缓存一段时间,后续的操作将直接和 Chunk 服务器进行数据读写操作。

3.GFS的一致性模型:

尽量采用追加写入而不是覆盖,Checkpoint,自验证的写入操作,自标识的记录

4. 对比HDFS架构:
  • master slave model: 只有主人和slave进行主观能动的通信,slave间不会通信。
  • master只会决定哪个slave去做读/写工作,然后client会直接和slave去传输。master只会收到request,master不会传输数据。
  • 怎么存储数据:block of small file
  • 谁负责去将数据拆分成小的blocks? => HDFS client

二、BigTable

三、MapReduce

转载于:https://www.cnblogs.com/shawshawwan/p/9204675.html

Google 三架马车:GFS、BigTable、MapReduce相关推荐

  1. Google三驾马车之Bigtable

    谷歌在2003到2006年间发表了三篇论文,<MapReduce: Simplified Data Processing on Large Clusters>,<Bigtable: ...

  2. 【Google三驾马车系列】MapReduce原理总结

    MapReduce基本框架 MapReduce计算模型的两个重要阶段: Map:映射,将数据转化为键值对的形式.切片操作在集群中并发执行,切片大小默认取最大切片.最小切片.块大小(128M)中间值. ...

  3. 一文带你系统梳理Google三驾马车

    一文带你系统梳理Google三驾马车 不知道大家在工作中,有没有遇到过这类程序员:他们无论在什么岗位,开发什么系统,好像都能够抓到问题的本质,做得「游刃有余」. 我也经常碰到这类程序员,每次我向他们请 ...

  4. Google分布式系统三驾马车: GFS,mapreduce,Bigtable

    谈到分布式系统,就不得不提Google的三驾马车:Google fs[1],Mapreduce[2],Bigtable[3]. 虽然Google没有公布这三个产品的源码,但是他发布了这三个产品的详细设 ...

  5. [MapReduce] Google三驾马车:GFS、MapReduce和Bigtable

    声明:此文转载自博客开发团队的博客,尊重原创工作.该文适合学分布式系统之前,作为背景介绍来读. 谈到分布式系统,就不得不提Google的三驾马车:Google FS[1],MapReduce[2],B ...

  6. Google三驾马车:GFS、MapReduce和Bigtable

    谈到分布式系统,就不得不提Google的三驾马车:Google fs[1],Mapreduce[2],Bigtable[3]. 虽然Google没有公布这三个产品的源码,但是他发布了这三个产品的详细设 ...

  7. Google三驾马车之GFS

    谷歌在2003到2006年间发表了三篇论文,<MapReduce: Simplified Data Processing on Large Clusters>,<Bigtable: ...

  8. Google三驾马车之MapReduce

    谷歌在2003到2006年间发表了三篇论文,<MapReduce: Simplified Data Processing on Large Clusters>,<Bigtable: ...

  9. Google 早期三驾马车之 BigTable 论文学习与研读

    前言 Google,作为全球最大的搜索引擎公司,其伟大之处不仅在于建立了一个强大的搜索引擎,还在于它创造了3项革命性的技术,即:GFS.MapReduce 和 BigTable.作为 Google 早 ...

最新文章

  1. python 中 (按位与) 和 | (按位或)
  2. PHP开发工具 zend studio
  3. 图片轮播html实现原理,纯CSS实现图片轮播
  4. 【控制】《多无人机协同控制技术》周伟老师-第1章-无人机协同控制技术概述
  5. 手机操作系统如何实现跨平台开发和使用
  6. 论MOS管开关对电源的影响
  7. ubuntu mysql修改字符集后不能启动mysql_解决ubuntu下修改my.cnf设置字符集导致mysql无法启动...
  8. 企业中书写css,web前端开发企业级CSS常用命名,书写规范总结(示例代码)
  9. 【PTA天梯赛CCCC -2017决赛L2-3】图着色问题 (25 分)(图染色)
  10. POJ 1252 Euro Efficiency
  11. vs怎么生成html文件,vscode 快速生成html
  12. Aoto Deploy Project 1.0 (rebuild version)
  13. R语言可视化学习笔记之ggpubr包
  14. MySQL int类型的显示
  15. Cisco iOS的两种配置文件(思科命令的保存)
  16. 教你分辨真假苹果官方售后维修点就是这么简单!!
  17. 我的ubuntu论坛账号
  18. 人生有三重境界:看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水
  19. 神经元振荡中相位幅值耦合的量化:锁相值、平均向量长度、调制指数和广义线性模型交叉频率耦合
  20. decimal在java怎么用?

热门文章

  1. János-the-Ripper
  2. JAVA判断时间是否过期
  3. == 和 ===的区别
  4. 数学课本上的9大变态!
  5. Neo4j:SLM群集算法的过程
  6. python爬虫学习_junior
  7. 为什么人生下来就有意识 人脑五大未解之谜
  8. Kotlin 4. Kotlin 函数注解:Suppress,Volatile, Synchronized, Bindable, RequiresApi,SerializedName
  9. 微型计算机最早出现在第三代计算机中对吗,3月计算机一级试题及答案(2)
  10. C# 最新手机号码段的号码验证实现