ITPub博客

首页 > 大数据 > Hadoop > HDFS的体系结构

HDFS的体系结构

原创 Hadoop 作者:山有木xi 时间:2020-06-08 17:15:21 0 删除 编辑

分布式文件系统HDFS是一种分布式文件系统,设计用于在商用硬件上运行,它与现有的分布式文件系统有许多相似之处。但是,与其他的分布式文件系统也有着很大的差异,HDFS旨在具有高容错、部署在低成本应将、提供对应用数据的高吞吐量访问。适用于具有大型数据集的应用程序。

HDFS采用了典型的Master/Slave系统架构,一个HDFS集群通常包含一个NameNode节点和若干的DataNode节点,一个文件被分成了一个或者多个数据块,并且存储在一组DataNode上,DataNode节点可以分布在不同的机架。NameNode执行文件系统的名字空间打开、关闭、重命名文件或者目录等操作,同时负责管理数据块到具体的DataNode节点的映射。在NameNode的统一调度下,DataNode负责处理文件系统客户端的读/写请求,完成数据块的创建、删除和复制。

  • NameNode和DataNode

HDFS具有主从架构,NameNode节点负责集群的任务调度,DataNode节点负责执行任务和存储数据块,NameNode管理文件系统的命名空间,维护者整个文件系统的文件目录树以及这些文件的索引目录。这些信息以命名空间镜像和编辑日志靓仔形式存储在本地文件系统中。从NameNode中可以获取每个文件的每个块存储在DataNode节点的位置,NameNode会在每次启动系统时动态的重建这些信息。客户端通过NameNode获取元数据信息,与DataNode会进行交互以访问整个文件系统。

单个NameNode:一个管理文件系统命名空间的主服务器和管理客户端对文件的访问组成。此外,还有许多DataNode:通常是群集中每个节点一个,用于管理连接到它们运行的节点的存储。

DataNode是文件系统的工作节点,供客户端和NameNode调用并且执行具体任务,存储文件块。DataNode通过心跳机制制定时向NameNode发送所储存的文件块信息,报告其工作状态

  • 数据块

数据块是磁盘进行数据读/写操作的最小单元。文件以块的形式存储在磁盘中,文件系统每次都能操作磁盘块大小整数倍的数据。HDFS中的文件也被划分为多个逻辑块进行存储。HDFS中的数据库的大小,影响到寻址开销,数据块越小,寻址开销越大,如果数据库设置的足够大,从磁盘传输数据的时间会明显大于定位这个数据块开始位置所需要的时间。因而,传输一个由多个数据块组成的文件的时间取决于磁盘传输效率,用户必须在数据块大小设置上做出优化选择。

HDFS作为分布式系统,使用抽象的数据块的优势:

  1. 通过集群扩展能力可以存储大于网络中任意一个磁盘容量的任意大小文件

  2. 使用抽象块而不是整个文件作为存储单元,可简化存储子系统,固定块大小可方便元数据和文件数据块的内容分开存储

  3. 便于备份和数据容错,提供系统可用性。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69917874/viewspace-2696952/,如需转载,请注明出处,否则将追究法律责任。

下一篇: AudioManager
全部评论
Oracle OCA(Java),IBM高级工程师认证,中国软件行业人才(高级c语言),高级Android工程师,对数据库并发与性能调优也有一定了解

注册时间:2019-04-25

  • 博文量
    83
  • 访问量
    236319