架构师入门必看系列,分布式文件系统HDFS解读

架构师入门必看系列,分布式文件系统HDFS解读

作者:佚名 2018-10-11 10:55:44

存储

存储软件

分布式 在Hadoop生态系统中,Hadoop分布式文件系统(HDFS)是非常关键的一环,它为管理大数据资源池和支撑相关大数据分析应用提供了一个具有高可靠性的工具。

在Hadoop生态系统中,Hadoop分布式文件系统(HDFS)是非常关键的一环,它为管理大数据资源池和支撑相关大数据分析应用提供了一个具有高可靠性的工具。在分布式存储领域,HDFS也扮演着重要角色,是作为系统架构师必须了解的分布式文件系统之一。

 

 

HDFS的工作原理

HDFS支持在计算节点之间快速传输数据。在开始阶段,它与MapReduce紧密耦合——MapReduce是一个用于大规模数据集的并行运算的编程框架。

当HDFS接收数据时,会将信息分解为单独的块,并将它们分布到集群中的不同节点,从而支持高效的并行处理。

此外,HDFS专门设计有高容错的特性。HDFS可以多次复制每个数据片段,并将副本分发给各个节点,将至少一个副本放在其他服务器机架上。因此,在集群中的其他地方也可以找到崩溃节点上的数据。这确保了在恢复数据时可以继续进行处理。

HDFS使用主/从架构。在其最初版本中,每个Hadoop集群由一个NameNode(用于管理文件系统运行)和支持DataNode(用于管理单个计算节点上的数据存储)组成。这些HDFS元素结合起来,可支持具有大数据集的应用程序。

这个主节点“数据分块”架构,从谷歌文件系统(GFS)以及IBM的通用并行文件系统(GPFS)中吸取了部分设计指导元素。GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能,可以给大量的用户提供总体性能较高的服务。GPFS是一种专门为集群环境设计的高性能、可扩展的并行文件系统,可以在集群中的多个节点间实现对共享文件系统中文件的快速存取操作,并提供稳定的故障恢复和容错机制。此外,虽然HDFS不是与可移植操作系统接口(POSIX)的模型兼容的,但它在某些方面也与POSIX设计风格相呼应。

 

HDFS架构图-应用程序通过Client与NameNode和DataNode进行交互

为什么要使用HDFS

HDFS最早出自雅虎,用于满足该公司广告服务和搜索引擎的部分需求。与其他面向Web的公司一样,雅虎发现自己需要处理的应用程序的用户访问越来越多,而这些用户正在产生越来越多的数据。后来,Facebook、eBay和Twitter等公司也开始使用HDFS作为大数据分析的基础,来解决相同的需求。

但HDFS的用途远不止于此。上述所提到的大规模Web搜索,我们可以将其归类于数据密集型并行计算。此外,HDFS也常用于计算密集型并行计算应用场景,如气象计算。在数据密集与计算密集混合型场景中也多有应用,如3D建模与渲染。HDFS也是许多开源数据仓库(有时称为数据湖,Data Lake)的核心。

HDFS通常用于大规模部署,因为它具备一个重要特性,就是可运行在普通廉价机器上。还有,例如运行Web搜索和相关应用程序的这种系统,往往需要可以扩展到数百PB和数千个节点,因此系统必须拥有易于扩展的特性,这正是HDFS所具备的。此外,服务器故障在这种规模下很常见,HDFS所提供的容错能力在这方面也很有实际价值。

不适用于HDFS的场景

首先,HDFS不适用于对延迟要求较高的场景,如实时查询。在延迟方面,HDFS没有充分的优势。其次,HDFS也难以支持大量小文件的存储。在Hadoop系统中,通常将“小文件”定义为远小于HDFS的block size(默认64MB)的文件,由于每个文件都会产生各自的MetaData元数据,Hadoop通过Namenode来存储这些信息,若小文件过多,容易导致占用大量NameNode内存,也会使寻道时间超过读取时间,为系统带来性能瓶颈。

此外,HDFS不支持多用户写入,也无法进行文件随机修改。仅支持以append的方式,即通过追加的方式添加到文件结尾处。HDFS适用于存储半结构化和非结构化数据,若有数据严格的结构化特性,强行采用HDFS是不合适的。***,HDFS适用于TB、PB级的大数据处理,文件数量通常在百万以上,如果数据量很小,完全没有必要采用HDFS。

HDFS和Hadoop的历史

这里简要说一些关键的时间节点。2006年,Apache Hadoop项目正式启动,HDFS和MapReduce开始独立发展。该软件开始广泛应用于各行各业的大数据分析项目中。2012年,HDFS和Hadoop版本1.0发布。

2013年Hadoop 2.0版本加入了通用YARN资源管理器,MapReduce和HDFS有效解耦。此后,Hadoop支持各种数据处理框架和文件系统。虽然MapReduce经常被Apache Spark所替代,但HDFS仍然是Hadoop的一种流行的文件格式。

 

在发布了四个alpha版本和一个beta版本之后,Apache Hadoop 3.0.0在2017年12月开始普遍可用,HDFS增强支持额外的NameNode、擦除编码工具和更大的数据压缩。与此同时,HDFS工具,如LinkedIn的开源Dr. Elephant和Dynamometer 性能测试工具的进步,也使HDFS能够支持更进一步的开发实现。

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/252440.html<

(0)
运维的头像运维
上一篇2025-04-29 10:48
下一篇 2025-04-29 10:49

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注