Apache Hadoop

Apache Hadoop

Apache Hadoop是一款支持數據密集型分佈式應用程序并以Apache 2.0許可協議發佈的開源軟體框架,有助于使用许多计算机组成的网络来解决数据、计算密集型的问题。基于MapReduce计算模型,它为大数据的分布式存储与处理提供了一个软件框架。所有的Hadoop模块都有一个基本假设,即硬件故障是常见情况,应该由框架自动处理[3]。

Apache Hadoop原作者Doug Cutting, Mike Cafarella開發者Apache软件基金会首次发布2006年4月1日,​19年前​(2006-04-01)[1]当前版本3.4.1(2024年10月18日;穩定版本)[2]

源代码库git-wip-us.apache.org/repos/asf/hadoop.git

编程语言Java操作系统跨平台类型大數據、分佈式系統许可协议Apache許可證 2.0网站hadoop.apache.org

Apache Hadoop的核心模块分为存储和计算模块,前者被称为Hadoop分布式文件系统(HDFS),后者即MapReduce计算模型。Hadoop框架先将文件分成数据块并分布式地存储在集群的计算节点中,接着将负责计算任务的代码传送给各节点,让其能够并行地处理数据。这种方法有效利用了数据局部性,令各节点分别处理其能够访问的数据。与传统的超级计算机架构相比,这使得数据集的处理速度更快、效率更高[4][5]。

Apache Hadoop框架由以下基本模块构成:

Hadoop Common – 包含了其他Hadoop 模块所需的库和实用程序;

Hadoop Distributed File System (HDFS) – 一种将数据存储在集群中多个节点中的分布式文件系统,能够提供很高的带宽;

Hadoop YARN – (于2012年引入) 一个负责管理集群中计算资源,并实现用户程序调度的平台[6][7];

Hadoop MapReduce – 用于大规模数据处理的MapReduce计算模型实现;

Hadoop Ozone – (于2020年引入) Hadoop的对象存储。

Hadoop 一词通常代指其基本模块和子模块以及生态系统[8],或可以安装在 Hadoop 之上的软件包的集合,例如Apache Pig、Apache Hive、Apache HBase、Apache Phoenix、Apache Spark、Apache ZooKeeper、Cloudera Impala、Apache Flume、Apache Sqoop、Apache Oozie和Apache Storm[9]。

Apache Hadoop的MapReduce和HDFS模块的灵感来源于Google的MapReduce和Google File System论文[10]。

Hadoop 框架本身主要是用Java编程语言编写的,也包括了一些C语言编写的本机代码和Shell脚本编写的命令行实用程序。尽管MapReduce Java代码很常见,但任何编程语言都可以与Hadoop Streaming一起使用来实现用户程序的map和reduce部分[11]。Hadoop 生态系统中的其他项目实现了更为丰富的用户界面。

目录

1 主要子项目

2 相關项目

3 知名用戶

3.1 Hadoop在Yahoo!的應用

3.2 其他用戶

4 Hadoop與Sun Grid Engine

5 Hadoop與Condor

6 參見

7 参考文献

8 外部連結

相关推荐

老外:为什么中国人不相信神?为什么不像我们一样信仰上帝? 365手机版游戏中心官网

老外:为什么中国人不相信神?为什么不像我们一样信仰上帝?

📅 07-02 👁️ 7333
液晶屏维修高手:牢记逻辑板这五个关键测试点 365scores下载

液晶屏维修高手:牢记逻辑板这五个关键测试点

📅 07-10 👁️ 7440
周五有什么综艺节目 365手机版游戏中心官网

周五有什么综艺节目

📅 06-29 👁️ 9851
腾讯视频黑屏只有声音怎么回事 腾讯视频黑屏怎么解决 365手机版游戏中心官网

腾讯视频黑屏只有声音怎么回事 腾讯视频黑屏怎么解决

📅 07-08 👁️ 4486