zoukankan      html  css  js  c++  java
  • Google 三架马车:GFS、BigTable、MapReduce

    一、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

  • 相关阅读:
    去除字符串中多余空格
    day02-03 字符编码
    eclipse与myeclipse区别
    xz解压和zip解压
    yum安装
    防火墙
    查看和操作HBA卡
    复制linux虚拟机后网卡不能用的解决方法
    关闭IPv6
    更改root密码
  • 原文地址:https://www.cnblogs.com/shawshawwan/p/9204675.html
Copyright © 2011-2022 走看看