这篇文章主要介绍HDFS的体系结构有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
分布式文件系统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作为分布式系统,使用抽象的数据块的优势:
通过集群扩展能力可以存储大于网络中任意一个磁盘容量的任意大小文件
使用抽象块而不是整个文件作为存储单元,可简化存储子系统,固定块大小可方便元数据和文件数据块的内容分开存储
便于备份和数据容错,提供系统可用性。
以上是“HDFS的体系结构有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。