Apache_Hadoop

Infobox software | name = Apache Hadoop | logo = Hadoop logo.svg | logo_alt = Hadoop Logo | screenshot = | caption = | author = Doug Cutting, Mike Cafarella | developer = Apache軟件基金會 | released = | latest release version = | latest release date = | operating system = 跨平臺 | programming language = Java | genre = 大數據 、 分佈式系統 | license = Apache許可證 2.0 | website = Apache Hadoop是一款支持數據密集型分佈式應用程序並以Apache 2.0 許可協議發佈的開源軟體框架 ， 有助於使用許多計算機組成的網絡來解決數據 、 計算密集型的問題 。 基於MapReduce計算模型 ， 它爲大數據的分佈式存儲與處理提供了一個軟件框架 。 所有的Hadoop模塊都有一個基本假設 ， 即硬件故障是常見情況 ， 應該由框架自動處理 。 Apache Hadoop的核心模塊分爲存儲和計算模塊 ， 前者被稱爲Hadoop分佈式文件系統 （ HDFS ） ， 後者即MapReduce計算模型 。 Hadoop框架先將文件分成數據塊並分佈式地存儲在集群的計算節點中 ， 接着將負責計算任務的代碼傳送給各節點 ， 讓其能夠並行地處理數據 。 這種方法有效利用了數據局部性 ， 令各節點分別處理其能夠訪問的數據 。 與傳統的超級計算機架構相比 ， 這使得數據集的處理速度更快 、 效率更高 。 Apache Hadoop框架由以下基本模塊構成 ： Hadoop Common – 包含了其他Hadoop 模塊所需的庫和實用程序 ； Hadoop Distributed File System ( HDFS ) – 一種將數據存儲在集群中多個節點中的分佈式文件系統 ， 能夠提供很高的帶寬 ； Hadoop YARN – （ 於2012年引入 ） 一個負責管理集群中計算資源 ， 並實現用戶程序調度的平臺 ； Hadoop MapReduce – 用於大規模數據處理的MapReduce計算模型實現 ； Hadoop Ozone – （ 於2020年引入 ） Hadoop的對象存儲 。 Hadoop 一詞通常代指其基本模塊和子模塊以及生態系統 ， 或可以安裝在 Hadoop 之上的軟件包的集合 ， 例如Apache Pig 、 Apache Hive 、 Apache HBase 、 Apache Phoenix 、 Apache Spark 、 Apache ZooKeeper 、 Cloudera Impala 、 Apache Flume 、 Apache Sqoop 、 Apache Oozie和Apache Storm 。 Apache Hadoop的MapReduce和HDFS模塊的靈感來源於Google的MapReduce和Google File System論文 。 Hadoop 框架本身主要是用Java編程語言編寫的 ， 也包括了一些C語言編寫的本機代碼和Shell腳本編寫的命令行實用程序 。 儘管MapReduce Java代碼很常見 ， 但任何編程語言都可以與Hadoop Streaming一起使用來實現用戶程序的map和reduce部分 。 Hadoop 生態系統中的其他項目實現了更爲豐富的用戶界面 。