大数据技术

Hadoop 简介

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

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

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

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

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

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

主要子项目[编辑]

Hadoop小计算机集群用Cubieboard电脑。

相关项目[编辑]

知名用户[编辑]

Hadoop在Yahoo!的应用[编辑]

2008年2月19日,雅虎使用10,000个微处理器核心的Linux计算机集群运行一个Hadoop应用程序。[14]

其他用户[编辑]

其他知名用户包括[15]

Hadoop与Sun Grid Engine[编辑]

昇阳电脑的Sun Grid Engine可以用来调度Hadoop Job。[16][17]

Hadoop与Condor[编辑]

威斯康辛大学麦迪逊分校的Condor计算机集群软件也可以用作Hadoop Job的调度。[18]

参见[编辑]

参考文献[编辑]

  1. ^ Hadoop Releases. apache.org. Apache Software Foundation. [2019-04-28]. (原始内容存档于2019-04-28). 
  2. ^ Release 2.10.2 available. [2023年10月26日]. 
  3. ^ Release 3.2.4 available. [2023年10月26日]. 
  4. ^ Release 3.3.6 available. [2023年10月26日]. 
  5. ^ Welcome to Apache Hadoop!. hadoop.apache.org. [2016-08-25]. (原始内容存档于2017-09-23). 
  6. ^ Malak, Michael. Data Locality: HPC vs. Hadoop vs. Spark. datascienceassn.org. Data Science Association. 2014-09-19 [2014-10-30]. (原始内容存档于2017-09-10). 
  7. ^ Wang, Yandong; Goldstone, Robin; Yu, Weikuan; Wang, Teng. Characterization and Optimization of Memory-Resident MapReduce on HPC Systems. 2014 IEEE 28th International Parallel and Distributed Processing Symposium. IEEE. October 2014: 799–808. ISBN 978-1-4799-3800-1. S2CID 11157612. doi:10.1109/IPDPS.2014.87. 
  8. ^ Resource (Apache Hadoop Main 2.5.1 API). apache.org. Apache Software Foundation. 2014-09-12 [2014-09-30]. (原始内容存档于2014-10-06). 
  9. ^ Murthy, Arun. Apache Hadoop YARN – Concepts and Applications. hortonworks.com. Hortonworks. 2012-08-15 [2014-09-30]. (原始内容存档于2017-09-11). 
  10. ^ Continuuity Raises $10 Million Series A Round to Ignite Big Data Application Development Within the Hadoop Ecosystem. finance.yahoo.com. Marketwired. 2012-11-14 [2014-10-30]. (原始内容存档于2017-09-10). 
  11. ^ Hadoop-related projects at. Hadoop.apache.org. [2013-10-17]. (原始内容存档于2017-09-23). 
  12. ^ Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting Data. John Wiley & Sons. 2014-12-19: 300 [2015-01-29]. ISBN 9781118876220. 
  13. ^ nlpatumd; Adventures with Hadoop and Perl. Mail-archive.com. 2010-05-02 [2013-04-05]. (原始内容存档于2017-08-14). 
  14. ^ Yahoo! Launches World's Largest Hadoop Production Application (Hadoop and Distributed Computing at Yahoo!). [2008-09-04]. (原始内容存档于2008-05-14). 
  15. ^ PoweredBy. [2008-09-07]. (原始内容存档于2012-11-29). 
  16. ^ Creating Hadoop pe under SGE. Sun Microsystems. 2008-01-16 [2008-09-04]. (原始内容存档于2008-09-12). 
  17. ^ HDFS-Aware Scheduling With Grid Engine (PDF). Sun Microsystems. 2009-09-10. [永久失效链接]
  18. ^ Condor integrated with Hadoop's Map Reduce (PDF). 威斯康辛大学麦迪逊分校. 2010-04-15 [2011-03-15]. (原始内容存档 (PDF)于2011-04-01).