August 2008 Archives

What is Hadoop ?

|

Hadoop 是 Apache 軟體基金會 旗下的一個計畫,是為了開發一套提供可靠性(reliable),延展性(scalable)以及分散式計算(distributed computing)的開源軟體, 目前包括下列子計畫:

  • Hadoop 核心, 目前的旗艦子計畫, 提供分散式檔案系統 (HDFS) 並支援 MapReduce 分散式計算模式.
  • HBase, 依據 Hadoop 核心打造, 提供具有延展性的分散式資料庫系統.
  • ZooKeeper, 一套高可靠度的協調管理系統, 分散式應用軟體使用 ZooKpeer 來保存,協調重要的共享資料更新.

Hadoop 原本是為了 Nutch , 一個 Apache 軟體基金會旗下的搜尋引擎系統所設計打造的基礎建設 Framework, 之後 Google 相繼發布了 Google File System 和 MapReduce 等 papers, 它們正是 Nutch 計畫所需要的, 因此 Nutch 計畫新增了 HDFS 跟 MapReduce 運算模式的實作.

   hadoop_arch.png

2006 年, Hadoop 之父 Doug Cutting 應 Yahoo! 之邀加入公司,專職從事 Hadoop 計畫的開發工作, 而 Hadoop 本身也從 Ntuch 計畫正式獨立出來, 2008 三月 Hadoop 升格成為 Apache 軟體基金會的頂級計畫(Top Level Project), 而 Yahoo! 目前是 Hadoop 核心計畫和ZooKeeper 計畫的主要貢獻者.

Hadoop 核心已經被證實可在 2000 台機器上執行,  目前的設計目標是朝向 10,000 台機器. 已經有許多不同的公司和組織分別使用 Hadoop 從事研究或是產品開發的工作, 像是 Yahoo! 搜尋引擎的 Webmap 建立, Amazon 的 EC2/S3 服務, 甚至 Google 也使用 Hadoop 和學術單位進行合作計畫等.


Hadoop 是完全的開源軟體, 對 Hadoop 有興趣的人可以參考下列連結:
http://hadoop.apache.org/
http://hadoop.apache.org/core/
http://wiki.apache.org/hadoop
http://developer.yahoo.com/blogs/hadoop/

hadoop-logo.jpg