Apache Hadoop
- 3.4.0 (2024年3月17日)[2]
- git-wip-us
.apache .org /repos /asf /hadoop .git
Apache Hadoop是一款支持數據密集型分佈式應用程序并以Apache 2.0許可協議發佈的開源軟體框架,有助于使用许多计算机组成的网络来解决数据、计算密集型的问题。基于MapReduce计算模型,它为大数据的分布式存储与处理提供了一个软件框架。所有的Hadoop模块都有一个基本假设,即硬件故障是常见情况,应该由框架自动处理[3]。
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 生态系统中的其他项目实现了更为丰富的用户界面。
主要子项目
- 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
相關项目
- Apache HBase:分布式NoSQL列数据库,类似谷歌公司BigTable。
- Apache Hive:构建于hadoop之上的数据仓库,通过一种类SQL语言HiveQL为用户提供数据的归纳、查询和分析等功能。Hive最初由Facebook贡献。
- Apache Mahout:机器学习算法软件包。
- Apache Sqoop:结构化数据(如关系数据库)与Apache Hadoop之间的数据转换工具。
- Apache ZooKeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
- Apache Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。
知名用戶
Hadoop在Yahoo!的應用
2008年2月19日,雅虎使用10,000個微處理器核心的Linux计算机集群運行一個Hadoop應用程式。[12]
其他用戶
其他知名用戶包括[13]:
Hadoop與Sun Grid Engine
昇陽電腦的Sun Grid Engine可以用来调度Hadoop Job。[14][15]
Hadoop與Condor
威斯康辛大學麥迪遜分校的Condor計算機集群軟件也可以用作Hadoop Job的排程。[16]
參見
参考文献
- ^ Hadoop Releases. apache.org. Apache Software Foundation. [2019-04-28]. (原始内容存档于2019-04-28).
- ^ Release 3.4.0 available. [2024年4月10日].
- ^ Welcome to Apache Hadoop!. hadoop.apache.org. [2016-08-25]. (原始内容存档于2017-09-23).
- ^ Malak, Michael. Data Locality: HPC vs. Hadoop vs. Spark. datascienceassn.org. Data Science Association. 2014-09-19 [2014-10-30]. (原始内容存档于2017-09-10).
- ^ 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.
- ^ Resource (Apache Hadoop Main 2.5.1 API). apache.org. Apache Software Foundation. 2014-09-12 [2014-09-30]. (原始内容存档于2014-10-06).
- ^ Murthy, Arun. Apache Hadoop YARN – Concepts and Applications. hortonworks.com. Hortonworks. 2012-08-15 [2014-09-30]. (原始内容存档于2017-09-11).
- ^ 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).
- ^ Hadoop-related projects at. Hadoop.apache.org. [2013-10-17]. (原始内容存档于2017-09-23).
- ^ Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting Data. John Wiley & Sons. 2014-12-19: 300 [2015-01-29]. ISBN 9781118876220.
- ^ nlpatumd; Adventures with Hadoop and Perl. Mail-archive.com. 2010-05-02 [2013-04-05]. (原始内容存档于2017-08-14).
- ^ Yahoo! Launches World's Largest Hadoop Production Application (Hadoop and Distributed Computing at Yahoo!). [2008-09-04]. (原始内容存档于2008-05-14).
- ^ PoweredBy. [2008-09-07]. (原始内容存档于2012-11-29).
- ^ Creating Hadoop pe under SGE. Sun Microsystems. 2008-01-16 [2008-09-04]. (原始内容存档于2008-09-12).
- ^ HDFS-Aware Scheduling With Grid Engine (PDF). Sun Microsystems. 2009-09-10. [永久失效連結]
- ^ Condor integrated with Hadoop's Map Reduce (PDF). 威斯康辛大學麥迪遜分校. 2010-04-15 [2011-03-15]. (原始内容存档 (PDF)于2011-04-01).
外部連結
- Hadoop官方網站(页面存档备份,存于互联网档案馆)
- 查
- 论
- 编
- Abdera(英语:Apache Abdera)
- Accumulo(英语:Apache Accumulo)
- ActiveMQ
- Ambari(英语:Apache Ambari)
- Ant
- Aries(英语:Apache Aries)
- Apache Arrow
- Apache HTTP Server
- APR
- Avro
- Axis
- Axis2
- Beam
- Bloodhound(英语:Apache Bloodhound)
- Apache Brooklyn(英语:Apache Brooklyn)
- Buildr(英语:Apache Buildr)
- Calcite(英语:Apache Calcite)
- Camel
- Cassandra
- Cayenne(英语:Apache Cayenne)
- Chemistry(英语:Apache Chemistry)
- CloudStack(英语:Apache CloudStack)
- Cocoon(英语:Apache Cocoon)
- Continuum(英语:Apache Continuum)
- Cordova
- CouchDB
- cTAKES(英语:cTAKES)
- CXF
- Deltacloud(英语:Deltacloud)
- Derby
- Directory(英语:Apache Directory Server)
- Drill(英语:Apache Drill)
- Empire-db(英语:Apache Empire-db)
- ECharts
- Felix(英语:Apache Felix)
- Flex
- Flink
- Flume(英语:Apache Flume)
- Forrest(英语:Apache Forrest)
- Geronimo(英语:Apache Geronimo)
- Gora(英语:Apache Gora)
- Gump(英语:Apache Gump)
- Hadoop
- Hama(英语:Apache Hama)
- HBase
- Hive
- Jackrabbit(英语:Apache Jackrabbit)
- James(英语:Apache James)
- JMeter(英语:Apache JMeter)
- Kafka
- Karaf(英语:Apache Karaf)
- Kylin(英语:Apache Kylin)
- Lucene
- Lenya(英语:Apache Lenya)
- Mahout(英语:Apache Mahout)
- Marmotta(英语:Apache Marmotta)
- Maven
- MINA(英语:Apache MINA)
- mod_perl(英语:mod_perl)
- MyFaces(英语:Apache MyFaces)
- Nutch(英语:Apache Nutch)
- ODE(英语:Apache ODE)
- OFBiz(英语:Apache OFBiz)
- Oozie(英语:Oozie)
- OpenEJB(英语:Apache OpenEJB)
- OpenJPA(英语:Apache OpenJPA)
- OpenNLP
- OpenOffice
- PDFBox(英语:Apache PDFBox)
- Phoenix(英语:Apache Phoenix)
- POI
- Pig(英语:Pig (programming tool))
- Pivot(英语:Apache Pivot)
- Qpid(英语:Apache Qpid)
- River(英语:Apache River)
- Roller(英语:Apache Roller)
- RocketMQ
- Samza(英语:Apache Samza)
- ServiceMix(英语:Apache ServiceMix)
- Shindig(英语:Apache Shindig)
- Shiro
- Sling(英语:Apache Sling)
- Spark
- Stanbol(英语:Apache Stanbol)
- Storm
- SpamAssassin
- Sqoop
- Apache C++标准库(英语:stdcxx)
- Struts
- Struts 2
- Subversion
- Tapestry
- Thrift
- Tiles(英语:Apache Tiles)
- Tika(英语:Apache Tika)
- Tomcat
- Trafficserver
- Turbine
- Tuscany
- UIMA
- Velocity
- Wave
- Wicket
- Wink(英语:Apache Wink)
- Xalan(英语:Xalan)
- Xerces(英语:Xerces)
- XMLBeans(英语:XMLBeans)
- ZooKeeper
- Apache Commons Logging(英语:Apache Commons Logging)
- BCEL(英语:Byte Code Engineering Library)
- BSF(英语:Bean Scripting Framework)
- Commons Daemon(英语:Commons Daemon)
- Jelly(英语:Apache Jelly)
- Lucene Java
- Lucene.Net(英语:Lucene.Net)
- Nutch(英语:Nutch)
- Solr
- HBase
- HDFS
- XAP(英语:Apache XAP)
- Samza(英语:Apache Samza)
- Storm
- AxKit(英语:AxKit)
- Beehive(英语:Apache Beehive)
- Click(英语:Apache Click)
- Apache BlueSky(英语:BlueSky Open Platform)
- Cactus(英语:Jakarta Cactus)
- Jakarta
- Excalibur(英语:Apache Excalibur)
- Harmony
- HiveMind(英语:Apache HiveMind)
- Lenya(英语:Apache Lenya)
- Slide(英语:Jakarta Slide)
- Shale(英语:Apache Shale)
- Shindig(英语:Apache Shindig)
- stdcxx(英语:Apache C++ Standard Library)
- iBATIS
- XMLBeans(英语:XMLBeans)
- 分类
- 维基共享
|
|