Remove ads
来自维基百科,自由的百科全书
Apache Hadoop是一款支持數據密集型分佈式應用程序並以Apache 2.0許可協議發佈的開源軟體框架,有助於使用許多計算機組成的網絡來解決數據、計算密集型的問題。基於MapReduce計算模型,它為大數據的分布式存儲與處理提供了一個軟件框架。所有的Hadoop模塊都有一個基本假設,即硬件故障是常見情況,應該由框架自動處理[3]。
Apache Hadoop的核心模塊分為存儲和計算模塊,前者被稱為Hadoop分布式文件系統(HDFS),後者即MapReduce計算模型。Hadoop框架先將文件分成數據塊並分布式地存儲在集群的計算節點中,接着將負責計算任務的代碼傳送給各節點,讓其能夠並行地處理數據。這種方法有效利用了數據局部性,令各節點分別處理其能夠訪問的數據。與傳統的超級計算機架構相比,這使得數據集的處理速度更快、效率更高[4][5]。
Apache 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 生態系統中的其他項目實現了更為豐富的用戶界面。
其他知名用戶包括[13]:
昇陽電腦的Sun Grid Engine可以用來調度Hadoop Job。[14][15]
威斯康辛大學麥迪遜分校的Condor計算機集群軟件也可以用作Hadoop Job的排程。[16]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.