Apache Hadoop

来自Local Chinese Wikipedia
(重定向自HDFS
跳转到导航 跳转到搜索

package.lua第80行Lua错误:module 'Module:Crc32lua' not found

页面Module:Infobox/styles.css没有内容。

Apache Hadoop
脚本错误:没有“InfoboxImage”这个模块。
脚本错误:没有“InfoboxImageVariant”这个模块。
原作者Doug Cutting, Mike Cafarella
开发者Apache软件基金会
首次发布2006年4月1日,​脚本错误:没有“TimeAgo”这个模块。​(2006-04-01[1]
当前版本Template:Software version
源代码库页面Template:Plainlist/styles.css没有内容。Template:EditAtWikidata
编程语言Java
引擎页面Template:Plainlist/styles.css没有内容。
    脚本错误:没有“Wd”这个模块。
Template:EditAtWikidata
操作系统跨平台
类型大数据分布式系统
许可协议Apache许可证 2.0
网站hadoop.apache.org
脚本错误:没有“Template wrapper”这个模块。

脚本错误:没有“Check for unknown parameters”这个模块。

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

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

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

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

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

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

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

主要子项目[编辑]

File:Cubieboard HADOOP cluster.JPG
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应用程序。[11]

其他用户[编辑]

其他知名用户包括[12]

Hadoop与Sun Grid Engine[编辑]

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

Hadoop与Condor[编辑]

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

参见[编辑]

参考文献[编辑]

  1. 脚本错误:没有“citation/CS1”这个模块。
  2. 脚本错误:没有“citation/CS1”这个模块。
  3. 脚本错误:没有“citation/CS1”这个模块。
  4. 脚本错误:没有“citation/CS1”这个模块。
  5. 脚本错误:没有“citation/CS1”这个模块。
  6. 脚本错误:没有“citation/CS1”这个模块。
  7. 脚本错误:没有“citation/CS1”这个模块。
  8. 脚本错误:没有“citation/CS1”这个模块。
  9. 脚本错误:没有“citation/CS1”这个模块。
  10. 脚本错误:没有“citation/CS1”这个模块。
  11. 脚本错误:没有“citation/CS1”这个模块。
  12. 脚本错误:没有“citation/CS1”这个模块。
  13. 脚本错误:没有“citation/CS1”这个模块。
  14. 脚本错误:没有“citation/CS1”这个模块。package.lua第80行Lua错误:module 'Module:Category handler/data' not foundpackage.lua第80行Lua错误:module 'Module:Category handler/data' not found[永久失效链接]
  15. 脚本错误:没有“citation/CS1”这个模块。

外部链接[编辑]

package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found package.lua第80行Lua错误:module 'Module:Authority control/config' not found脚本错误:没有“Check for unknown parameters”这个模块。