开始新对话

未解决

此帖子已超过 5 年

1303

2016年4月4日 22:00

Hadoop分布式文件系统概念解析

Hadoop分布式文件系统概念解析

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese  weibo.png

介绍

HDFSHadoop Distributed File SystemHadoop分布式文件系统是根据google发表的论文做为基石,用于海量日志类大文件的在线存储。经过这些年的发展,HDFS的架构和功能基本固化,像HA、异构存储、本地数据短路访问等重要特性都可以实现,本文将介绍HDFS的特点和基本架构。

更多信息

对外部客户机而言,HDFS就像一个传统的分级文件系统,可以用于创建、删除、移动或重命名文件。但是HDFS的架构是基于一组特定的节点构建的,这是由它自身的特点决定的。

存储在HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的RAID架构大不相同。块的大小(通常为64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。HDFS内部的所有通信都基于标准的TCP/IP协议。

HDFS有很多特点:

1、高可用性

默认情况下,HDFS保存有3份副本,且提供容错机制,在副本丢失或宕机的情况下系统可以自动恢复。

2、运行在普通廉价的服务器上。

HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。

3、适合大数据的处理。

HDFS默认会将文件分割成64M大小的Block,然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中。如果小文件太多,那内存的负担会很重。


HDFS基本架构图

Untitled.png



如上图所示,HDFS也是按照MasterSlave的结构。分NameNodeSecondaryNameNodeDataNode这几个角色。

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

SecondaryNameNode:用于分担namenode的工作量,同时担任NameNode的冷备份,合并fsimagefsedits然后再发给namenode

DataNode:负责存储client发来的数据块block,同时执行数据块的读写操作。

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

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

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

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

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

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

应用于

了解Hadoop分布式文件系统概念。

没有回复!
找不到事件!

Top