Hadoop分布式文件系统HDFS 是一种被设计运行在任何通用硬件上的分布式文件系统。是一个高度容错性的系统,适合部署在廉价的机器上,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
1、分布式文件系统
N台计算机联网协同工作,就像单台系统一样解决问题,也就是说它们可以横跨多台计算机的存储系统,存储在分布式系统上的数据自动分布在不同的节点上。
分布式文件系统在大数据时代具有广泛的应用前景,它们为储存和处理来自网络和其他地方超大规模数据提供所需的扩展能力。
2、分离元数据和数据 NameNode 和 DataNode
存储到文件系统中的每一个文件都有相关联的元数据。元数据包括文件名、i节点数、数据块位置;而数据则是文件的实际内容。
在传统的文件系统里,因为文件系统不会跨越多台机器,那么元数据和数据都存储在同一台机器上。
因而为了构建一个分布式文件系统,让客户端在这种系统中使用简单,并且并不需要知道其他客户端的活动,那么元数据需要在客户端之外维护。HDFS的设计理念就是拿出一台或者多台机器来保存元数据,并让剩下的机器来保存文件的内容。NameNode和DataNode是HDFS的两个主要组件。其中元数据存放在NameNode上,而数据存在DataNode的集群上,NameNode不仅要关联存在HDFS上的内容元数据,而且要记录一些事情,比如那些节点是集群的一部分,某个文件有几分备份等。它还要决定当集群的节点宕机或数据副本丢失时系统需要做什么。
存储在HDFS上的每一份数据片有多份副本(replication)在不同的服务器上,从本质上,NameNode是HDFS的主服务器(master),DataNode是slave(从服务器)。
3、HDFS写过程
NameNode负责管理存储在HDFS上的所有文件的元数据,它会确认客户端的请求,并记录下文件的名称和存储这个文件的DataNode集合,把该信息在内存中的文件分配表里进行存储。
举个栗子:
客户端发送一个请求给NameNode,将test.log文件写入HDFS中,具体的流程
1、客户端发送消息给NameNode,说要将“test.log”文件写入
2、NamdNode发送消息给客户端,叫客户端写到DataNodeA、B和D,并直接联系DataNodeB
3、客户端发送消息给DataNode B叫他保存一份“test.log”,并将一份副本给DataNode D
4、DataNode A发送消息给DatanNode D,并发送一份副本给DataNode D
5、DataNode A发送消息给DataNode D,保存文件
6、DataNode D发送确认信息给DataNode A
7、DataNode A 发送信息给DataNode B
8、DataNode B发送确认消息给客户端,即为写入成功
--------------------------------------------------------------------------------------------------------------------------------
对于iteye真的表示无语。。。。。。。
相关推荐
hadoop HDFS学习课件,根据hadoop权威指南和apache官网参考手册整理。整个PPT比较大,教学时需要拆分使用
Hadoop分布式文件系统HDFS的实战,需要的Hdfs.java文件 public static void main(String[] args) throws Exception { //上传文件到hadoop uploadFile(); createFile(); createDir(); fileRename(); deleteFile...
Hadoop分布式文件系统(HDFS)可靠性的研究与优化
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错...
首先介绍分布式文件系统的基本概念、结构和设计需求,然后介绍Hadoop分布式文件系统HDFS,详细阐述它的重要概念、体系结构、存储原理和读写过程,最后,介绍了一些HDFS编程实践方面的知识
《高可用性的HDFS——Hadoop分布式文件系统深度实践》专注于Hadoop分布式文件系统(hdfs)的主流ha解决方案,内容包括:hdfs元数据解析、hadoop元数据备份方案、hadoop backup node方案、avatarnode解决方案以及最新...
hadoop-hdfs Hadoop分布式文件系统hdfs代码分析目录介绍Datanode-数据块基本结构主要介绍了HDFS中第二关系块结构,数据块到数据中断的映射关系。退役-中断退款主要介绍了数据异步下线取消机制。INode-文件目录结构...
内容提要:首先介绍分布式文件系统的基本概念、结构和设计需求,然后介绍Hadoop分布式文件系统HDFS,详细阐述它的重要概念、体系结构、存储原理和读写过程,最后,介绍了一些HDFS编程实践方面的知识。
HDFS—Hadoop分布式文件系统深度实践,带有完整详细的目录
Hadoop分布式文件系统是遵循Google文件系统原理进行开发和实现的,受到r业界极已被广泛应用。鉴于当前缺乏从系统设计理论的角度对其开展的相关研究,本文从Hadoop分布文件系统架构的建模人手.通过对模型各组成部分...
Hadoop分布式文件系统(HDFS)运行测试
高可用性的HDFS:Hadoop分布式文件系统深度实践
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错...
HDFS是HadoopDistributeFileSystem的简称,也就是Hadoop分布式文件系统。1、硬件错误是常态错误检测并快速自动恢复是HDFS的最核心设计目标2、存储超大文件HDFS适合大量存储,总存储量可以达到的PB、EB级HDFS适合大...
文档介绍了分布式文件系统及Hadoop Distribute Files System,HDFS
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错...
《高可用性的HDFS——Hadoop分布式文件系统深度实践》专注于Hadoop分布式文件系统(hdfs)的主流ha解决方案,内容包括:hdfs元数据解析、hadoop元数据备份方案、hadoop backup node方案、avatarnode解决方案以及最新...
工作中搭建的hadoop分布式文件系统和hive ,mysql等的搭建的具体步骤
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错...