zoukankan      html  css  js  c++  java
  • HDFS Architecture

    Two kind of database architectures:

    • Master slave model

        High consistency

        Simpler design

        Single master node is not robust

    • Peer peer model

        Distributes read write load

        One node down won’t affect others

        Low consistency

    HDFS使用的是Master slave model.

    Master slave model 模型总览:

    文件读取的时候,Master并不会转移数据,这会导致bottleneck。master只会决定哪一个slave node读写,然后client直接与那个slave node 通信。

    文件存储是分block来存储的, HDFS Client负责文件的分割

    那么,master的作用是什么呢?很自然,master需要知道文件存储在哪个slave node,从哪里去读取文件。master通过metadata来实现。

    Metadata 包含 blocks 和 blocks的位置。

    如上图所示的结构,如果一个slave节点宕机了的话,就会造成数据丢失,为了避免这一情况,需要进行Data replication。一般存储三份。

    那么,如果master node宕机了呢?工业上是每隔一个小时就把master node 上的数据copy到checkpoint node上。

    接下来看看文件的读写操作。

    写操作:

    由于每隔文件都需要写三次,那么如果client直接往三个node写的话,将会造成bottleneck。所以,写操作的流程如下:

    读操作:

    数据存储了三份,那么client读取的时候,是选择和client最接近的那个datanode.master会根据datanode与client的距离给三份数据提供一个order.

  • 相关阅读:
    BZOJ 2157: 旅游 (2017.7.21 6:30-2017.7.21 15:38 今日第一题。。)
    洛谷 P1021 邮票面值设计
    洛谷 P2912 [USACO08OCT]牧场散步Pasture Walking
    COGS 2111. [NOIP2015普及]扫雷游戏
    洛谷 P3038 [USACO11DEC]牧草种植Grass Planting
    COGS 1439. [NOIP2013]货车运输
    COGS 908. 校园网
    codevs 1422 河城荷取
    codevs 1183 泥泞的道路
    洛谷 P3390 【模板】矩阵快速幂
  • 原文地址:https://www.cnblogs.com/futurehau/p/6051823.html
Copyright © 2011-2022 走看看