HDFS架构——Hadoop入门(一)

前言

最近在进行Hadoop相关的学习,Hadoop整体体系也很复杂,想一片文章了解说明也很难,所以我打算逐个击破,先从底层的HDFS说起。


HDFS

HDFS(Hadoop Distributed File System,分布式文件系统)
HDFS集群 由NameNode组成,NameNode管理 文件系统的metadata(元数据,记录数据的数据,记录数据属性等)和存储真实数据的DataNode
客户(Client)向NameNode 索要元数据,或文件修改内容,并且和DataNode进行io交互。

基础框架

这里写图片描述

HDFS存储流程

这里写图片描述

HDFS读取流程

这里写图片描述


内部结点介绍

NameNode(Master)

  1. 管理数据位置的映射信息
  2. 相应client的请求
  3. 配置副本策略
  4. 管理名称空间

DataNode(Slave)

Master下达命令,Slave执行命令

  1. 存储数据块
  2. 执行实际的读写操作

Secondary NameNode:

以日志形式记录对文件系统的更改,被存储在本地的edits文件中。当NameNode启动,它就从fsimage图像文件中读取HDFS状态,并且从edits日志文件中应用edits。之后它将新的HDFS状态写入fsimage ,并且以一个空的edits文件展开常规操作。因为只有在启动阶段NameNode才会融合fsimage和edits文件,在一个忙碌的集群上edits日志文件会随着时间更迭变大,这样带来得副作用时下次重启NameNode会更慢。
Secondary NameNode周期性得融合fsimage和edits日志文件,并确保edits日志大小在一个限度之内。Secondary NameNode它通常在与主NameNode不同的机器上运行,因为它的内存需求与主NameNode的顺序相同。

Secondary NameNode上得checkpoint启动由两个配置参数控制:
1:dfs.namenode.checkpoint.period,默认设置为1小时,指定连续两个checkpoint得最大延时
2.dfs.namenode.checkpoint.txns,默认设置为1 million,指定了未被检查的事务,但是他们可能会被紧急检查,即使还没到检查时间点。

Secondary NameNode将最新的checkpoint存储在一个和主NameNode相同结构的目录中,以便于主NameNode可以随时读取被检查过的image。

Checkpoint Node

NameNode将其命名空间保存在两个文件中:1.fsimage,是命名空间和edits的最新的检查关卡 2.log ,保存了checkpoint之后namespace的变化。
当一个NameNode启动,它融合fsimage和edits日志来提供一个文件系统元数据的最新视图。之后NameNode将以最新的HDFS状态重写fsimage并且启动一个新的edits日志。

CheckPoint 结点周期性地创建namespace的检查关卡。它从当前活跃的NameNode结点下载fsimage和edits文件,本地实现二者融合,然后把新的image上传到当前活跃的NameNode。
Checkpoint node通常运行在和NameNode不同的机器上因为他们的内存需求顺序是相同的。检查点节点由配置文件中指定的节点上的bin/hdfs namenode -检查点启动。
Checkpoint或者Backup Node的位置和伴随的web接口通过dfs.namenode.backup.address和dfs.namenode.http-address参数配置。
checkpoint进程的启动也是由period和txns控制。详见SecondaryNode。

多个checkpoint node节点可以在集群配置文件中指定。

Backup Node

和checkpoint node 的不同之处在于它不会上传checkpoints到Namenode。
BackupNode takes a stream instead of periodic reading of edit from NameNode.

HDFS安全模式:

数据结点热交换驱动

Datanode支持热交换驱动。用户可以在不关闭DataNode的情况下添加或替换HDFS数据卷。
热交换驱动过程:

  • 如果有新的存储目录,用户应该格式化他们并正确装载。
  • 用户更新DataNode配置文件 dfs.datanode.data.dir来反映被活跃使用的数据卷目录。
  • 用户运行 dfsadmin -reconfig datanode HOST:PORT start 来开启重配置进程. 用户使用dfsadmin -reconfig datanode HOST:PORT status 来询问重配置任务的运行状态。
  • 一旦重配置任务完成,用户就可以安全地 umount 被清除的数据和磁盘。

未完待续。。。。

几大特征概括

col 3 is right-aligned
col 2 is centered
zebra stripes are neat

猜你喜欢

转载自blog.csdn.net/Gease_Gg/article/details/81710211