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.

  • 相关阅读:
    什么是tomcat集群?
    cmd黑客入侵命令大全
    Linix基本命令
    Windows CMD命令大全
    python 函数1
    Python 集合(set)使用
    python 数据字典应用
    python 数据运算
    python 数据类型(元组(不可变列表),字符串
    python 数据类型(列表)学习笔记
  • 原文地址:https://www.cnblogs.com/futurehau/p/6051823.html
Copyright © 2011-2022 走看看