第三章 HDFS

原创 2015年11月20日 00:22:46

1.  HDFS有三部分组成分别是NameNode, DataNode,SecondNameNode。

1.1 其设计理念:存储大数据(GB,TB,PB级别的)

1)  优点:

高容错性:数据有多个副本;副本丢失,自动恢复。

适合批量处理:移动计算而非数据。

适合大数据处理

流式文件访问:一次写入,多次读取;保证数据的一致性。

可在廉价的机器上部署。

2)  缺点:

低延迟:即是离线计算

小文件存取:占用太多的NameNode的内存;磁盘碎片多

不支持并发修改文件。

1.2  HDFS架构图:

 

客户端访问HDFS;首先与NameNode交互,获取文件元数据信息;通过元数据找到对应的DataNode,然后客户端直接访问DataNode读取和写入数据。

1.3 HDFS基本概念

1.      数据块(Block):大文件会被分割成多个block进行存储,Block大小默认为64MB。每一个block会在多个Datanode上存储多份副本,默认是3份。

2.      Namenode:Namenode负责管理文件元数据(文件目录、文件和block的对应关系以及block和Datanode的对应关系)当然还有副本的个数。

3.      Datanode就负责存储Block,当然大部分容错机制都是在Datanode上实现的。同时,每个DataNode会向NameNode发送心跳保持与其联系(3秒一次),如果 NameNode10分钟没有收到DataNode的心跳,会认为该DataNode已经丢失,并从其它节点拷贝dataNode的Block到其它的存活的DataNode上。

4.      Block的副本存放策略

1.   第一个副本,会根据资源使用不忙(磁盘不太满,cpu使用率不高),随机找到一个节点存放。

2.  第二个副本,放在与第一个副本不同机架的节点上。

3.  第三个副本,放在与第二个副本相同的机架的节点上。

4.  如果有更多副本,随机放置。

5. SecondaryNameNode:

  1.作用:帮助NameNode合并edits和fsimage(即日志文件),减少NameNode的启动时间。

     2.合并时机:

1.根据配置文件设置的时间间隔fs.checkpoint.period默认3600秒

                2.根据这是edits log大小fs.checkpoint.size规定edits文件的最大容量。默认64MB

3.SecondaryNameNode合并edits和fsimage流程

                        

1) 当时间间隔大于你所配置的值时,或者edits大于你所配置的大小时,SecondaryNameNode 开始合并。

2) 合并时,NodeName首先生成一个新的edits继续记录日志。

3) SecondaryNameNode通过网络拷贝后,合并成fsimage.ckpt,并传输到NameNode.

4) NameNode将fsimage.ckpt替换fsimage

5) 再次达到触发条件,再次合并。





第三章 第二节 HDFS概念

Block(前文翻译的“块”,术语翻译成中文总是感觉很别扭,以后术语还是使用原文)     磁盘有block大小,它是可以读写的最小量的数据。单一磁盘文件系统处理这些 block中的数据,它通常是磁盘...
  • fkbush
  • fkbush
  • 2016年03月25日 14:23
  • 586

《快学Scala》第三章习题解答

RT。 package com.scalalearn.scala.main //java中的List转为scala buffer至关重要的引入 import scala.collection.Jav...
  • rongyongfeikai2
  • rongyongfeikai2
  • 2016年05月14日 16:29
  • 895

《计算机网络》谢希仁(第7版) 第三章

《计算机网络》谢希仁(第7版) 第三章 数据链路层知识要点
  • YJin_Woo
  • YJin_Woo
  • 2017年05月14日 17:06
  • 1090

python自然语言处理学习笔记第三章

从本章开始往后我们的例子程序将假设你以下面的导入语句开始你的交 互式会话或程序: >>> from __future__ import division >>> import nltk, re,...
  • huang2009303513
  • huang2009303513
  • 2013年11月09日 10:19
  • 1369

CSAPP--第三章中函数调用与返回的细节

对于以下操作:void fun() { int x = 1; return; } int main() { int y = 2; fun(); } vs2015Pro生...
  • qq_29596177
  • qq_29596177
  • 2016年09月04日 09:37
  • 252

[APUE] 第三章部分习题

APUE第三章部分习题
  • ILOVEYOUXIAOWANGZI
  • ILOVEYOUXIAOWANGZI
  • 2013年12月10日 16:21
  • 1346

计算机网络 自顶向下方法 第三章 运输层

Tags:计算机网络第三章 运输层第三章 运输层 1 概述和运输层服务 11 运输层和网络层的关系 12 因特网运输层概述 2 多路复用与多路分解 21 无连接的多路复用与多路分解 22 面向连接的多...
  • MemoryD
  • MemoryD
  • 2017年07月11日 19:50
  • 502

netty权威指南 ---------第三章 入门应用

本例以client端发送请求,server端返回当前时间
  • bingjing12345
  • bingjing12345
  • 2014年09月21日 09:50
  • 4570

《管理的常识》第三章<什么是组织结构>读书笔记

组织结构就是让权力和责任的关系匹配。         组织结构两个特性:一是要保持稳定,稳定的结构才能产生效率;二是要保持变化,变化的结构才能带来发展。 一、组织结构是自我约定的关系       ...
  • charleslei
  • charleslei
  • 2015年04月06日 16:16
  • 542

训练指南(白书)习题记录

白书习题
  • Gvolv
  • Gvolv
  • 2015年11月27日 23:43
  • 551
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第三章 HDFS
举报原因:
原因补充:

(最多只允许输入30个字)