HDFS Architecture

Posted futurehau

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.

 

以上是关于HDFS Architecture的主要内容,如果未能解决你的问题,请参考以下文章

大数据的中流砥柱——HDFS hdfs及其特点 hdfs的重要功能 hdfs机制

HDFS详解

大数据技术之_04_Hadoop学习_01_HDFS_HDFS概述+HDFS的Shell操作(开发重点)+HDFS客户端操作(开发重点)+HDFS的数据流(面试重点)+NameNode和Seconda

HDFS原理与实操

2.5 HDFS体系架构

HDFS是什么?HDFS适合做什么?我们应该怎样操作HDFS系统?(第3篇)