HDFS体系架构
Posted ItStar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS体系架构相关的知识,希望对你有一定的参考价值。
HDFS:
Hadoop Distributed File System 简称为:HDFS (hadoop 分布式文件系统)
一台服务器的存储空间有限,可以通过多台服务器协同处理数据
来源:
来源于Google的Google File System (GFS);GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
HDFS架构原理:
namenode: 主节点 名称节点 主要作用是 HDFS 的管理员和存储库的元数据主节点,包括存储文件名称,副本数(默认会备份3份),数据块,数据块在哪个 Datanode 节点位置。
datanode: 从节点 数据节点 主要作用是保存数据,用来具体的存储文件,维护了blockId 与 datanode本地文件的映射。需要不断的与namenode节点通信,来告知其自己的信息,方便nameode来管控整个系统。
SecondaryNameNode: 第二名称节点 主要作用是协助namenode管理元数据信息
JournalNode: 主要作用是存在EditLog,在HA模式在实现namenode的高可用,为了实现两个namenode数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。
设计目标:
硬件错误是常态问题
硬件故障是计算机常见的问题。整个HDFS系统由数百甚至上千个存储着数据文件的服务器组成。而如此多的服务器则意味着高故障率,因此,故障的检测和快速自动恢复是HDFS的一个核心目标。
数据流式访问
HDFS的设计建立在“一次写入、多次读取”的基础上。一个数据集由数据源生成或复制而来,然后响应各种各样的数据分析任务请求,每次分析都涉及该数据集的大部分数据甚至全部,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。
大数据集
HDFS文件大小都是GB甚至TB级别
简单的相关模型
一次写入,多次读取的访问模式
移动计算比移动数据更为划算移动计算比移动数据更为划算
把计算迁移到数据附近更好,而不是把数据传输到程序运行的地方。
兼容性
系统设计之初肯定要考虑兼容性的问题,如果兼容性都做不到是没人使用的
优劣:
优点
处理超大文件
处理结构化,非结构化,半结构化数据
运行在廉价的商用集群上
缺点
不适合处理低延迟的数据访问
对于这些请求HBase是更好的选择
无法高效存储大量的小文件
可以利用SequenceFile,MapFile等方式归档文件
不支持多用户写入及任意修改文件
在HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完成,即只能执行追加操作。目前HDFS还不支持多个用户对同一文件的写操作,以及在文件任意位置进行修改。
以上是关于HDFS体系架构的主要内容,如果未能解决你的问题,请参考以下文章