HDFS体系结构

1.数据块:适合大文件的存储

好处:可以存储比单一磁盘大的文件、简化了存储管理(将管理块和管理文件的功能区分开)、方便容错(数据块进行)

为什么块的大小比磁盘块大的多?减少管理数据块的开销、同时在对文件进行读写时较少寻址开销、可以减少名字节点管理文件与数据块的关系的开销

2.名字节点与第二名字节点(都只有一个)

1).名字节点是HDFS中主从结构中的主节点上运行的主要进程,它知道主从结构中的从节点,数据节点执行底层的IO任务

名字节点维护整个文件系统的文件目录树、文件和目录的元信息、文件的数据块索引(每个文件对应的数据块列表)。这些信息以两种形式存储:命名空间镜像FSImage、命名空间镜像的编辑日志EditLog。

第二命名节点:定期合并命名空间镜像与命名空间镜像的编辑日志的辅助守护进程。

客户端写入数据时:

1).写入数据时,先向NN询问是否可以写入(已存在等情况),NN将元数据写入EditLog文件中

2) NN通知客户端可写入,客户端写入结束后,通知NN写入完毕,NN将editLog的元数据写入内存

3)当Edit Log写满时,进行FSImage与Edit Log合并,在secondary namenode上进行。并通知NN停止写入Edit Log,此时会创建一个新的Edit Log.new,当合并结束后,将合并后的文件上传到NN,并删除之前的Edit Log,将Edit Lod.new改名为EditLog

注意:在写入时,只要写入了一个块就算写入成功,第二个块由第一个块去写,一次类推,若副本写入失败,通知NN,重新再指定位置写入副本

2).第二名字节点(只有一个)

第二名字节点与名字节点的区别:他不接受或记录与HDFS相关的任何实时变化,只是进行合并得到一个新的命名空间。该命名空间会上传到名字节点,替换原有的命名空间,并清空上述日志文件。

读文件:客户端在进行读文件时,首先会向namenode询问文件的每个数据块的位置信息,然后由客户端和数据节点进行通信。在写入文件时,当写入一个副本时,即返回成功。由成功写入的数据节点与其他数据节点通信,复制数据块。

3.数据节点

在数据节点上,HDFS文件是以Linux系统上的普通文件进行存储

4.客户端

HDFS提供了与客户端交互的手段

DistributedFileSystem继承自FileSystem,实现了HDFS文件系统界面。DFSDataInputStream与DFSDataOutputStream分别继承自FSDataInputStream FSDataOutputStream提供了读写HDFS文件的输入输出流

时间: 2024-10-20 20:31:54

HDFS体系结构的相关文章

HDFS体系结构(NameNode、DataNode详解)

hadoop项目地址:http://hadoop.apache.org/ 分布式文件系统概述: 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 . 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 通透性.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般. 容错.即使系统中有某些节点脱机,整体

HDFS体系结构及shell操作

一.hadoop1.1.0的介绍 hadoop是适合大数据的分布式存储和计算的平台 hadoop核心组成由hdfs和mapreduce组成 hdfs是主从式结构,主节点只有一个,是namenode:从节点有很多个 分布式文件系统与HDFS (HDFS体系结构与基本概念) Distributed File System 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上  的文件,这就是分布式文件管理

HDFS 体系结构详解

Hdfs体系结构:三个进程(namenode,datanode, secondary namenode) Hdfs(hadoopdistributed filesystem)是hadoop的核心子项目,是分布式存储,它是基于流数据模式的访问和处理超大文件.(分布式最大的好处就是其通透性,虽然分布存在不同的datanode上面,但是感觉在一台电脑的本地进行操作). Tips: Hdfs的高可用性主要取决于namenode,间接取决于元数据的可靠性和namenode的服务回复时间. 磁盘元数据文件,

Hadoop读书笔记(四)HDFS体系结构

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的shell操作:http://blog.csdn.net/caicongyang/article/details/41253927 Hadoop读书笔记(三)Java API操作HDFS:http://blog.csdn.net/caicongyang/article/details/41290955

HDFS体系结构详解

HDFS的体系框架是Master/Slave结构,一个典型的HDFS通常由单个NameNode和多个DataNode组成.NameNode是一个中心服务器,负责文件系统的名字空间的操作,比如打开.关闭.重命名文件或目录,它负责维护文件路径到数据块的映射,数据块到DataNode的映射,以及监控DataNode的心跳和维护数据块副本的个数.集群中的DataNode一般是一个节点一个,负责管理它所在节点上的存储.HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据.从内部看,一个文件

hadoop2.5.2学习及实践笔记(三)—— HDFS概念及体系结构

注:文中涉及的文件路径或配置文件中属性名称是针对hadoop2.X系列,相对于之前版本,可能有改动. 附: HDFS用户指南官方介绍: http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html HDFS体系结构官方介绍: http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HdfsDesign.

[转载]HDFS初探之旅

转载自 http://www.cnblogs.com/xia520pi/archive/2012/05/28/2520813.html , 感谢虾皮工作室这一系列精彩的文章. Hadoop集群(第8期)_HDFS初探之旅 1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上.它所具有的高容错.高可靠性.高可扩展性.高

HDFS原理解析(总体架构,读写操作流程)

前言 HDFS 是一个能够面向大规模数据使用的,可进行扩展的文件存储与传递系统.是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和 存储空间.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般.即使系统中有某些节点脱机,整体来说系统仍然可以持续运作 而不会有数据损失. 一.HDFS体系结构 1.Namenode Namenode是整个文件系统的管理节点.它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表, 接收

hadoop笔记之hdfs

1.HDFS设计基础与目标 1.HDFS设计基础与目标 (1)硬件错误是常态,因此需要冗余. (2)流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理. (3)大规模数据集 (4)简单一致性模型.为了降低系统复杂度,对文件采用一次性写多次读的逻辑设计,即是文件一经写入,关闭,就再也不能修改. (5)程序采用"数据就近"原则分配节点执行. 2.HDFS体系结构 Namenode Datanode 事务日志 映像文件 SecondaryNameNode