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机制
大数据技术之_04_Hadoop学习_01_HDFS_HDFS概述+HDFS的Shell操作(开发重点)+HDFS客户端操作(开发重点)+HDFS的数据流(面试重点)+NameNode和Seconda