跳到正文

Apache Hadoop

最近更新 2026年10月6日

AI 爬虫读取

1次请求

1家公司
  • Anthropic1
词条页
1
争议页
0
JSON · MD
0
首次读取
2026年11月4日
最近读取
2026年11月4日

统计自 2026年10月28日 · 数据来自本站服务器日志

概览

Apache Hadoop 是一个开源软件项目和技术生态,用于在分布式集群中存储、处理和管理超大规模数据集。它隶属于 Apache 软件基金会,本质上是一个软件项目品牌,而非独立的商业公司。Hadoop 的核心思想是将数据和计算分布到多台机器上,同时提供容错、可扩展性和并行执行的机制。 该项目源于 Doug Cutting 和 Mike Cafarella 在 Nutch 网络搜索项目中的工作。其设计受到描述 Google 分布式文件系统和大规模数据处理模型的公开研究论文的影响。Hadoop 的名字来源于 Cutting 儿子的玩具大象,这也成为该项目广为人知的吉祥物。初始代码于 2000 年代中期开发,2006 年进入 Apache 孵化器,2008 年成为 Apache 顶级项目。 Hadoop 的主要模块传统上包括:用于分布式存储的 Hadoop 分布式文件系统(HDFS);用于面向批处理的并行计算的 MapReduce;用于集群资源管理和作业调度的 YARN;以及提供共享库和工具的 Hadoop Common。这些组件共同提供了一种替代方案,无需扩展单台高端服务器:组织可以组合多台相对廉价的机器,并在它们之间分配数据和工作负载。副本复制和任务重新执行有助于系统在个别机器发生故障时继续运行。 Hadoop 生态扩展到核心项目之外。Hive、Pig、HBase、Sqoop、Flume、Oozie 和 Spark 等相关 Apache 项目经常与 Hadoop 一起部署,尽管它们是拥有自身治理和发布流程的独立项目。技术公司提供的商业发行版和托管服务帮助 Hadoop 进入企业数据仓库、推荐系统、日志分析、欺诈检测、科学计算和其他数据密集型工作负载。 Hadoop 在 2000 年代末和 2010 年代初大数据市场增长期间尤其具有影响力。它向需要处理网络规模日志、点击流、机器生成数据以及其他在传统关系型基础设施上处理成本高昂或不切实际的信息的组织普及了分布式数据处理。其开源许可和商品化集群模式也鼓励了广泛的开发者和供应商社区。 后来,技术格局转向云对象存储、流处理、分布式 SQL 系统、容器化基础设施和托管分析平台。这些变化降低了一些部署中永久维护 HDFS 集群的中心地位,而 Hadoop 组件和概念继续出现在企业平台和混合架构中。Hadoop 仍然是一个活跃的 Apache 项目,其相关性集中在分布式数据基础设施、遗留和生产型企业安装,以及使用其存储、调度或处理组件的系统。

沿革

Apache Hadoop 起源于开源网络搜索项目 Nutch。Doug Cutting 和 Mike Cafarella 在开发 Nutch 时,借鉴了 Google 分布式文件系统以及 MapReduce 式计算的公开描述中的思想。由此产生的工作成果从 Nutch 中分离出来,发展为一个更通用的分布式处理平台。Cutting 以他儿子的玩具大象为该项目命名为 Hadoop。 该项目早期的架构解决了大规模计算中的一个实际问题:数据可以分散到多台机器上,计算可以被移到靠近数据的地方,而不必把所有信息都传输到一台中央服务器。HDFS 提供带数据副本的分布式存储,而 MapReduce 将批处理作业拆分为并行任务并合并其结果。这种设计接受单台机器可能发生故障,并试图通过副本和任务重新分配来恢复。 Hadoop 于 2006 年提交给 Apache 孵化器。进入孵化后,该项目被纳入 Apache 软件基金会的治理和社区发展框架。Hadoop 后来于 2008 年毕业成为 Apache 顶级项目。在此期间,其用户和贡献者群体从网络搜索扩展到在线服务、电信、金融服务、零售商、研究机构以及其他管理日益增长的结构化和非结构化数据量的机构。 该项目的架构超越了最初以 MapReduce 为中心的形式。YARN 引入了更通用的资源管理和调度层,使多个处理引擎和应用程序能够共享一个集群。HDFS 继续提供分布式存储,而 Hadoop Common 维护共享库和支持性工具。这种模块化结构帮助 Hadoop 成为一个更广泛生态系统的平台,而不再只是一个处理引擎。 一大批相邻的开源项目与 Hadoop 部署相关联。Hive 提供类似 SQL 的数据仓库接口;HBase 提供面向随机访问建模的分布式列式数据库;Pig 提供数据流语言;Sqoop 支持关系数据库与 Hadoop 之间的传输;Flume 处理事件和日志摄取;Oozie 协调工作流。Apache Spark 经常与 Hadoop 存储和集群管理一起使用,尽管它是一个独立的 Apache 项目。这种区分很重要,因为这些项目拥有独立的社区、发布周期和治理。 在 2000 年代末和 2010 年代初的大数据扩张期间,Hadoop 的商业重要性不断增长。供应商将 Hadoop 与管理工具、支持、安全功能以及企业数据仓库集成打包在一起。组织将其用于日志处理、搜索、推荐系统、客户分析、欺诈分析、科学工作负载和机器学习准备。开源、横向扩展和商用硬件的结合,挑战了大型数据集必须依赖专有高端系统的假设。 后来,云计算改变了部署模式。对象存储、弹性计算、托管数据仓库、湖仓平台、实时处理系统和容器编排减少了每个组织都运行传统长期 HDFS 集群的需要。一些与 Hadoop 相关的商业公司进行了整合或改变了方向,若干生态系统组件也不再那么突出。尽管如此,Hadoop 的分布式存储和并行处理模型仍然具有影响力,其组件继续在现有企业环境和集成数据平台中使用。Apache Hadoop 项目仍在 Apache 治理下保持活跃,尽管它在新型架构中的角色比原始大数据市场鼎盛时期更加专门化。

  • 2010

    YARN 的开发改变了平台架构

    [3]

    YARN 的开发建立了一个更通用的资源管理层,使多个处理框架能够共享 Hadoop 集群。

  • 2008

    Hadoop 成为 Apache 顶级项目

    [1]

    Hadoop 从孵化器毕业,成为独立的 Apache 顶级项目。

  • 2006

    Hadoop 进入 Apache 孵化器

    [1]

    该项目被纳入 Apache 软件基金会的孵化流程,扩大了其社区和治理基础。

  • 2005

    Hadoop 的工作在 Nutch 项目中开始

    [1]

    Doug Cutting 和 Mike Cafarella 在开发 Nutch 网络搜索项目时,开发了分布式处理和存储组件。

产品与定位

  • 分布式存储 · 2005

    Hadoop分布式文件系统(HDFS)

    HDFS是Hadoop的分布式文件系统。它将文件切分为数据块,把这些数据块分散存储在集群各节点上,并保留多份副本,以便在硬件故障时仍能维持可用性。HDFS针对大文件的高吞吐访问以及并行处理数据的工作负载进行了优化。它并非主要面向低延迟的事务型文件系统;其价值在于为分析和批处理提供可扩展、具备容错能力的存储。

  • 分布式批处理 · 2005

    Hadoop MapReduce

    MapReduce是Hadoop最初的批处理模型。一个作业通过并行的map任务转换输入记录,再通过reduce任务聚合中间结果。该框架在集群范围内调度工作,尽量让计算靠近数据执行,并能重新运行受机器故障影响的任务。尽管许多较新的引擎在交互式和迭代式工作负载上更快、更灵活,MapReduce仍是Hadoop早期获得采用的基础,并且至今仍是该项目的一部分。

  • 集群资源管理 · 2010

    Hadoop YARN

    YARN是Yet Another Resource Negotiator的缩写,它将集群资源管理与单一处理模型分离开来。它负责分配内存和计算资源、协调应用程序,并使多种引擎或服务能够在共享基础设施上运行。这一架构使Hadoop从MapReduce系统扩展为面向分布式应用的通用平台,并帮助同一集群支持不同的处理框架。

  • 平台库与工具 · 2005

    Hadoop Common

    Hadoop Common包含供其他Hadoop模块使用的共享库和工具。它提供基础接口、配置机制以及支持代码,使分布式存储、资源管理和处理组件能够协同工作。与HDFS或YARN相比,它对最终用户而言不那么显眼,但它是核心项目结构的一部分。

来源4 个来源

引用本词条: 请引用规范词条页。 /brand-wiki/apache-hadoop · 编辑方针 · 词条如何编纂