Hadoop 分布式存储系统 HDFS的实例详解

HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。

一、HDFS的优缺点

1.HDFS优点:

  a.高容错性

    .数据保存多个副本

    .数据丢的失后自动恢复

  b.适合批处理

    .移动计算而非移动数据

    .数据位置暴露给计算框架

  c.适合大数据处理

    .GB、TB、甚至PB级的数据处理

    .百万规模以上的文件数据

    .10000+的节点

  d.可构建在廉价的机器上

    .通过多副本存储,提高可靠性

    .提供了容错和恢复机制

2.HDFS缺点

  a.低延迟数据访问处理较弱

    .毫秒级别的访问响应较慢

    .低延迟和高吞吐率的请求处理较弱

  b.大量小文件存取处理较弱

    .会占用大量NameNode的内存

    .寻道时间超过读取时间

  c.并发写入、文件随机修改

    .一个文件仅有一个写者

    .仅支持Append写入

二、HDFS的架构

  如上图所示,HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。

  NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;

  SecondaryNameNode:是一个小弟,分担大哥namenode的一部分工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。

  DataNode:Slave节点,奴隶,干活的。负责存储client发来的数据块block;执行数据块的读写操作。

  热备份:b是a的热备份,如果a坏掉。那么b马上运行代替a的工作。

  冷备份:b是a的冷备份,如果a坏掉。那么b不能马上代替a工作。但是b上存储a的一些信息,减少a坏掉之后的损失。

  fsimage:元数据镜像文件(文件系统的目录树。)

  edits:元数据的操作日志(针对文件系统做的修改操作记录)

  namenode内存中存储的是=fsimage+edits。

  SecondaryNameNode负责定时默认1小时,从namenode上,获取fsimage和edits来进行合并,然后再发送给namenode。减少namenode的工作量。

三、HDFS数据存储单元(block)

1.文件被切割成固大小的数据块

  a.默认数据块大小是64MB,数据块大小可配置

  b.若数据块大小不到64MB,则单独成一个数据块

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1651.html