牛叔叔 的笔记

好好学习

2024-03-31 16:59

带你用5分钟简单了解一下hadoop分布式计算框架

牛叔叔

大数据

(421)

(0)

收藏

1 简介

Hadoop是一个开源的分布式计算框架,主要用于处理和分析海量数据。这个框架由Apache软件基金会开发和维护,起初由Doug Cutting和Mike Cafarella创建,灵感来源于Google的MapReduce论文和Google File System(GFS)的研究成果。

2 发展历史

起源阶段

  • 2002年10月,Doug Cutting和Mike Cafarella为了构建一个大型的全网搜索引擎Nutch而创立了该项目。Nutch面临的问题是如何有效地存储和处理互联网规模的数据。

初始架构形成

  • 受到Google发表的关于GFS(Google File System)和MapReduce两篇论文的启发,Nutch团队开始开发自己的分布式文件系统(最初称为NDFS,后来演变为HDFS)和MapReduce计算模型的开源实现。

Hadoop项目的诞生

  • 2006年前后,随着Nutch内部分布式存储和计算组件的成熟,这部分功能从Nutch项目中分离出来,并以Hadoop这个名字命名,标志着Hadoop作为一个独立的项目开始发展。

成为Apache顶级项目

  • 2008年1月,Hadoop正式成为Apache软件基金会的顶级项目,这极大地推动了Hadoop在开源社区的普及和发展。

Hadoop 1.x 发展

  • 在Hadoop 1.x版本中,HDFS和MapReduce是两个核心组件,分别用于分布式存储和分布式计算。

Hadoop 2.x 引入YARN

  • 2013年前后,随着Hadoop 2.x版本的推出,引入了资源管理系统YARN(Yet Another Resource Negotiator),使得Hadoop集群的资源利用率和多任务协调能力得到了显著提升,同时也支持了更多类型的计算框架在YARN之上运行。

生态系统扩展

  • 随着时间推移,围绕Hadoop形成了一个庞大的生态系统,包含了一系列互补的大数据处理工具和框架,如Apache Hive(数据仓库工具)、Apache Pig(数据流处理语言)、Apache HBase(分布式列式数据库)、Apache Spark(内存计算框架)以及其他诸多项目。

商业应用与市场发展

  • Cloudera、Hortonworks等公司在Hadoop商业化方面扮演了重要角色,为企业级用户提供支持和服务,进一步推动了Hadoop在企业级市场的应用和采纳。

至今,Hadoop已成为处理大规模数据的关键基础设施之一,尽管随着云服务和现代数据栈的发展,出现了更多竞争和替代方案,但它仍然在大数据领域保持着重要的地位。

3 三大核心组件

3 三大核心组件

Hadoop的核心组件主要包括:

  1. Hadoop Distributed File System (HDFS): HDFS是一个高度容错性的系统,用于在商用硬件上搭建大规模的、分布式的、面向块存储的文件系统。它将大文件分割成多个数据块并在多台服务器(称为数据节点)上存储副本,以此提供高数据吞吐量和容错能力。

  2. MapReduce: MapReduce是一个分布式编程模型,用于大规模数据集上的批处理作业。它允许开发者编写简单的map函数(处理独立数据块)和reduce函数(合并map结果),Hadoop会自动并行执行这些函数并将结果汇总,实现数据的高效并行处理。

  3. Apache Hadoop YARN (Yet Another Resource Negotiator): YARN作为Hadoop 2.x及以后版本中的资源管理和调度系统,负责整个集群资源的统一管理和调度,支持多种数据处理和计算框架运行在同一个集群上,不仅限于MapReduce。

除了以上核心组件,Hadoop生态系统还包括许多其他工具和项目,如Apache Pig、Hive(提供SQL-like查询接口)、HBase(分布式列式数据库)、Spark(快速通用数据处理引擎)、Flink(流处理和批处理框架)等,共同构成了一个庞大的数据分析与处理平台,适用于离线分析、实时计算、数据挖掘等多种应用场景。


0条评论

点击登录参与评论