前言
本文大致介紹下Hadoop的一些背景知識,為后面深入學習打下鋪墊。
什么是Hadoop
Hadoop是一個開源分布式計算平台,它以HDFS文件系統和MapReduce計算框架為核心。
前者能夠讓用戶使用一些廉價的硬件搭建出分布式系統,后者則能夠讓用戶在不需要過多了解底層架構細節的情況下,開發並行分布式應用程序。
-- 具體含義以后會詳細分析。
Hadoop的作用
具體的來說,Hadoop的作用主要在於處理海量數據,這也是為什么大數據技術中常常提到這個概念的原因。
更具體的來說,雅虎通過它做Web搜索,跑廣告系統;百度用它做搜索日志分析,網頁數據挖掘;阿里用它存儲海量的交易數據;移動研究院用它進行數據分析並對外提供服務。
很多人看好它會在更多領域(如銀行,醫院等),更深層次,發揮出更大作用。
Hadoop的優勢
為什么Hadoop能夠勝任這些工作?
有以下幾個主要原因:
1. 高可靠性 - 能正確無誤的處理數據
2. 高擴展性 - 可以方便的加入或屏蔽計算機集群中的節點
3. 高效性 - 能非常快速的處理數據
4. 高容錯性 - 某個節點任務失敗不會影響結果
Hadoop項目結構圖
除了HDFS文件系統和MapReduce計算架構兩大核心,Hadoop還提供了其他一些項目提供更多服務,這些項目也不可或缺。 
這些項目具體的使用方法,都是日后學習的重要內容,在此不做細致介紹。
Hadoop的體系結構
首先介紹HDFS文件系統的體系結構:
HDFS采用M/S結構模型,Namenode作為主服務器,管理文件系統的命名空間和客戶端對文件的訪問操作;而Datanode管理存儲的數據。
下為HDFS文件系統的體系結構圖:

通常來說一個典型的集群環境是一台機器運行Namenode而其他每台機器運行一個Datanode。
這里再介紹下MapReduce計算架構的體系結構:
MapReduce其本質是一個非常簡單易用的並行編程框架,它同樣采用M/S模型,由一個單獨運行在主節點的JobTracker和運行在各個從節點上的TaskTracker共同組成。
小結
本文旨在描繪出Hadoop這頭“大象”的具體輪廓,其細節在以后的文章中會具體分析,細細體會,實際應用。
