Hadoop之HDFS

HDFS的简介

HDFS介绍:

HDFS(Hadoop Distributed File System)是hadoop中分布式文件系统,是hadoop中用于数据存储的模块,在存储数据时会对数据进行切块,每一个切块是一个block,hadoop2.0中默认每一个切块的大小时128M,而且HDFS会对每一个切块进行备份,备份称为副本,全分布式下默认的副本数量是3,伪分布式下副本数量要设置为1,副本的放置策略是机架感知策略,即根据物理机架的位置放置不同的副本,以放置因物理环境愿意导致同一个数据全部丢失。

HDFS的组成结构

HDFS中主要由Namenode和Datanode组成。Namenode主要负责存储元数据,元数据就是保存了每一DataNode的信息的数据其中包括:节点地址、数据信息、副本信息等。可以把namenode理解为是一个管理层的人,相当于包工头的角色,他手中有一个记录了手下所有农民工的信息的“本子”,而这个本子就是元数据。而每一个农名工就是datanode。DataNode是HDFS中正真存储数据的节点,而且每一个DataNode又叫一个切块默认大小时128M即一个block。每个DataNode有包括自己一共3个副本,放置策略按照机架感知策略放置。所以DataNode就相当于每一个农民工,正真干活的是DataNode,即存储数据,但是调度分配任务什么的工作则由namenode完成。
NameNode为了方便管理所有手下的DataNode,必须让每一个DataNode每个3秒向自己发送“心跳信息”(心跳信息包括:节点状态、节点存储的数据),以确保DataNode活着,方便管理,如果DataNode超过10分钟没有想NameNode发送信息或者NameNode超过10分钟没有收到手下DataNode的心跳信息,那么NameNode就会认为这个节点已经lost(死了),那么NameNode就会将这个lost(死了)的节点进行备份(副本备份)。

Namenode元数据持久化和secondaryNamenode的理解

Namenode负责存管理以及储元数据(节点信息),元数据存在内存中和磁盘中,在内存中主要是为了快速查询,在磁盘中主要是为了崩溃恢复。那么这就涉及到了元数据从内存到磁盘进行持久化操作的过程。
首先在Namenode中存在3个东西,分别是:fsimage-存储元数据,是一个在磁盘上的持久化文件,还有一个是edit-负责记录HDFS的操作(日志文件),还有一个是fstime-负责记录上一次更新操作的时间。
在这里插入图片描述
在这里插入图片描述

secondaryNamenode

secondaryNamenode不是对Namenode的热备份而是对fsimage和edits的合并操作。
在这里插入图片描述

图示:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值