Hadoop-HDFS架构上

HDFS简介服务器

HDFS是Hadoop分布式文件系统,是Apache Hadoop Core项目的一部分。设计用于在廉价的硬件上远行,具备高度容错,高吞吐量适用于大数据集的应用程序。HDFS放宽了一些POSIX的要求,以实现对文件系统的流式访问。 HDFS的核心架构的目标微信

硬件故障是没法避免的。HDFS实例可能由数百或前台服务器组成。每台服务器存储文件系统数据的一部分,有大量的组件,并且每一个组件都有必定的故障率。所以,故障检测和快速,自动恢复是HDFS的核心架构的目标 简单一致性网络

HDFS是一次写屡次读的访问模型。对文件的操做有建立,写入和关闭。不能在任意点更新文件但支持将内容追加到文件的末尾。能够追加和截断文件。这简化了数据一致性问题而且支持高吞吐量的数据访问。MapReduce应用程序或Web爬虫很是适合这个模式 。 移动计算
若是应用程序请求的的计算在其操做数据的附近,那么计算的效率就会提升好多。当数据集不少时更是如此。并且会最小化网络堵塞,提升系统的总体吞吐量。将计算迁移到离数据更近的地方比将数据迁移到计算运行的地方更好。HDFS为应用程序提供了这样的API,使计算更接近数据所在的位置。 可移植性
将HDFS从一个平台迁移到另一个平台是很是方便的。 NameNode and DataNode HDFS是Master/Slave架构,HDFS群集由单个NameNode和多个DataNode组成。后面的在深刻NameNode HA的时候会介绍到Secondary NameNode。架构

NameNode,是HDFS的主节点和中心节点。它管理文件系统的命名空间和客户端对文件的访问,执行文件系统命名空间的操做如文件的打开,关闭,文件的重命名和目录的管理,肯定块到DataNode的映射,保存文件系统中全部文件的目录树以及文件和目录的元数据。元数据包含完整的文件名,最后访问时间,最后修改时间,访问权限,块的划分,文件的复制级别等。元数据存储在fsImage和edit log两个文件中。分布式

DataNode存储文件的块数据。在HDFS中文件会被分红一个或多个块,这些块操做在一组DataNode中。DataNode负责客户端的读写请求,还根据NameNode的指令执行对块的建立,删除和复制。架构以下图:oop

后续会详细分析NameNode和DataNode以及它们的通讯机制。大数据

微信公众号同步设计

相关文章
相关标签/搜索