大数据 - hadoop基础概念 - HDFS

Hadoop之HDFS的概念及用法服务器

一、概念介绍分布式

  Hadoop是Apache旗下的一个项目。他由HDFS、MapReduce、Hive、HBase和ZooKeeper等成员组成。oop

  HDFS是一个高度容错的分布式文件系统。他可以提升吞吐量的数据访问,适合存储海量的大文件。spa

  HDFS由四部分构成:HDFS client、NameNode、DataNode、Secondary NameNode。blog

 各组件概念:
  一、HDFS client

  二、NameNode内存

  用于维护集群内元数据,也就是保存文件存储位置,集群存储方式为一个大文件存储在多个服务器中,并且为了维护健壮性,一个文件有多个备份,这些备份位置都须要存储在NameNode中。it

 。。。待编辑io

 

a集群

sdf

 

二、操做(此版本为Hadoop2.7,网上说的另外一种editlog和fsimage的存储方式为更早版本cli

  a) 启动HDFS

    从fsimage文件中读取元数据信息到内存中。

  b) 读文件

    1. 扫描HDFS中的元素据信息。客户端访问NameNode,NameNode把DataNode存放数据的位置等信息(存储的元数据信息),从内存中取来。

    2. 客户端下载文件。客户端根据NameNode提供的元数据信息,与DataNode简历RPC通讯,进行IO操做。

  c) 写文件

    1. 客户端与NameNode创建通讯。判断存储空间的剩余量,判断所存放的文件的存放分布方式。

    2. NameNode元数据信息落盘。生成一个editlog文件,保存元数据信息和元数据的操做。

    3. 客户端与DadaNode创建通讯。进行IO操做

  d) NameNode数据固化

    NameNode在空闲的时候,会把editlog中的元数据信息和操做信息,合并到fsimage(二进制信息,读写快速)文件中。

    每次HDFS启动时,NameNode都会把未合并到fsimage中的数据信息,合并过去。

    SecondartNameNode经过RPC通讯,把editlog中的元数据信息和操做信息,合并到fsimage文件中,并推送给NameNode。

相关文章
相关标签/搜索