Apache Hadoop

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

Apache Hadoop
Hadoop Logo
原作者Doug Cutting, Mike Cafarella
開發者Apache软件基金会
首次发布2006年4月1日2006-04-01[1]
当前版本
  • 2.7.1 (2015年7月6日)[2][3]
  • 2.10.2 (2022年5月31日)[4]
  • 3.2.4 (2022年7月22日)[5]
  • 3.3.6 (2023年6月23日)[6]
源代码库
编程语言Java
操作系统跨平台
类型大數據分佈式系統
许可协议Apache許可證 2.0
网站hadoop.apache.org

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

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

  • Hadoop Common – 包含了其他Hadoop 模块所需的库和实用程序;
  • Hadoop Distributed File System (HDFS) – 一种将数据存储在集群中多个节点中的分布式文件系统,能够提供很高的带宽;
  • Hadoop YARN – (于2012年引入) 一个负责管理集群中计算资源,并实现用户程序调度的平台[10][11]
  • Hadoop MapReduce – 用于大规模数据处理的MapReduce计算模型实现;
  • Hadoop Ozone – (于2020年引入) Hadoop的对象存储。

Hadoop 一词通常代指其基本模块和子模块以及生态系统[12],或可以安装在 Hadoop 之上的软件包的集合,例如Apache PigApache HiveApache HBaseApache PhoenixApache SparkApache ZooKeeperCloudera ImpalaApache FlumeApache SqoopApache OozieApache Storm[13]

Apache Hadoop的MapReduce和HDFS模块的灵感来源于GoogleMapReduceGoogle File System论文[14]

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

主要子项目

Hadoop小计算机集群用Cubieboard电脑。
  • Hadoop Common:在0.20及以前的版本中,包含HDFS、MapReduce和其他项目公共内容,从0.21开始HDFS和MapReduce被分离为独立的子项目,其余内容为Hadoop Common
  • HDFS:Hadoop分佈式文件系統(Distributed File System)-HDFS(Hadoop Distributed File System)
  • MapReduce:并行计算框架,0.20前使用org.apache.hadoop.mapred旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API

相關项目

知名用戶

Hadoop在Yahoo!的應用

2008年2月19日,雅虎使用10,000個微處理器核心的Linux计算机集群運行一個Hadoop應用程式。[16]

其他用戶

其他知名用戶包括[17]

Hadoop與Sun Grid Engine

昇陽電腦的Sun Grid Engine可以用来调度Hadoop Job。[18][19]

Hadoop與Condor

威斯康辛大學麥迪遜分校的Condor計算機集群軟件也可以用作Hadoop Job的排程。[20]

參見

参考文献

  1. . apache.org. Apache Software Foundation. [2019-04-28]. (原始内容存档于2019-04-28).
  2. http://hadoop.apache.org/releases.html#06+July%2C+2015%3A+Release+2.7.1+%28stable%29+available.
  3. . 2015年7月6日 [2020年8月8日].
  4. . [2023年10月26日].
  5. . [2023年10月26日].
  6. . [2023年10月26日].
  7. . hadoop.apache.org. [2016-08-25]. (原始内容存档于2017-09-23).
  8. Malak, Michael. . datascienceassn.org. Data Science Association. 2014-09-19 [2014-10-30]. (原始内容存档于2017-09-10).
  9. Wang, Yandong; Goldstone, Robin; Yu, Weikuan; Wang, Teng. . . IEEE. October 2014: 799–808. ISBN 978-1-4799-3800-1. S2CID 11157612. doi:10.1109/IPDPS.2014.87.
  10. . apache.org. Apache Software Foundation. 2014-09-12 [2014-09-30]. (原始内容存档于2014-10-06).
  11. Murthy, Arun. . hortonworks.com. Hortonworks. 2012-08-15 [2014-09-30]. (原始内容存档于2017-09-11).
  12. . finance.yahoo.com. Marketwired. 2012-11-14 [2014-10-30]. (原始内容存档于2017-09-10).
  13. . Hadoop.apache.org. [2013-10-17]. (原始内容存档于2017-09-23).
  14. . John Wiley & Sons. 2014-12-19: 300 [2015-01-29]. ISBN 9781118876220.
  15. . Mail-archive.com. 2010-05-02 [2013-04-05]. (原始内容存档于2017-08-14).
  16. . [2008-09-04]. (原始内容存档于2008-05-14).
  17. . [2008-09-07]. (原始内容存档于2012-11-29).
  18. . Sun Microsystems. 2008-01-16 [2008-09-04]. (原始内容存档于2008-09-12).
  19. (PDF). Sun Microsystems. 2009-09-10.
  20. (PDF). 威斯康辛大學麥迪遜分校. 2010-04-15 [2011-03-15]. (原始内容存档 (PDF)于2011-04-01).

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.