Apache Hadoop是一款支援數據密集型分佈式應用程式並以Apache 2.0許可協定發佈的開源軟體框架,有助於使用許多電腦組成的網路來解決資料、計算密集型的問題。基於MapReduce計算模型,它為巨量資料分散式儲存與處理提供了一個軟體框架。所有的Hadoop模組都有一個基本假設,即硬體故障是常見情況,應該由框架自動處理[3]

Quick Facts 原作者, 開發者 ...
Apache Hadoop
Thumb
原作者Doug Cutting, Mike Cafarella
開發者Apache軟體基金會
首次釋出2006年4月1日,​18年前​(2006-04-01[1]
目前版本
  • 3.4.0(2024年3月17日)[2]
編輯維基數據鏈結
原始碼庫 編輯維基數據鏈結
程式語言Java
作業系統跨平台
類型巨量資料分佈式系統
授權條款Apache授權條款 2.0
網站hadoop.apache.org
Close

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 PigApache HiveApache HBaseApache PhoenixApache SparkApache ZooKeeperCloudera ImpalaApache FlumeApache SqoopApache OozieApache Storm[9]

Apache Hadoop的MapReduce和HDFS模組的靈感來源於GoogleMapReduceGoogle File System論文[10]

Hadoop 框架本身主要是用Java程式語言編寫的,也包括了一些C語言編寫的本機代碼和Shell指令碼編寫的命令列實用程式。儘管MapReduce Java代碼很常見,但任何程式語言都可以與Hadoop Streaming一起使用來實現使用者程式的map和reduce部分[11]。Hadoop 生態系統中的其他專案實現了更為豐富的使用者介面。

主要子專案

Thumb
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應用程式。[12]

其他使用者

其他知名使用者包括[13]

Hadoop與Sun Grid Engine

昇陽電腦的Sun Grid Engine可以用來排程Hadoop Job。[14][15]

Hadoop與Condor

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

參見

參考文獻

外部連結

Wikiwand in your browser!

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.