一、合併MapReduce集羣與HDFS集羣
在調度運行一個做業時,將map任務等直接運行於要處理的數據所存儲的HDFS的數據節點上,可避免大量的數據傳輸,實現數據處理的本地性,進而大大提升整個過程的完成效率,這也正是Hadoop集羣的部署方式。以下圖所示。html
在一個小於50個節點的小規模集羣中,能夠將NameNode與JobTracker合併於同一個節點上運行。而整個集羣共有5類運行的核心進程,它們是MapReduce集羣的JobTracker和TaskTracker,以及HDFS集羣的NameNode、DataNode和SecondaryNameNode。
二、Hadoop項目程序員
Hadoop是ASF(Apache Software Foundation)的著名開源項目之一,由Doug Cutting建立,早期的主要目的是爲他的Nutch搜索引擎提供分佈式功能,後來才成爲一個獨立的項目。Hadoop的核心組件爲MapReduce和HDFS,HDFS提供大數據的存儲能力,而MapReduce則爲程序員開發處理大數據的程序提供了一個開發和運行環境。鑑於前文講述的HDFS及MapReduce的特性能夠得知,Hadoop是一個批處理系統,它不保證對請求提供實時響應;所以,Hadoop不是一個關係型數據庫系統,不提供在線事務處理功能,也不是一個結構化數據存儲系統。數據庫
Hadoop提供的強大的大數據存儲及分析能力受到了不少著名公司的青睞,如Yahoo!、Facebook、LinkedIn、Twitter、Rackspace、Baidu、eBay、taobao等,它們根據須要分別部署了規模不一樣的Hadoop集羣來實現諸如推薦系統、金融分析、天然語言處理、數據挖掘、影像處理、市場預測及日誌分析等功能。api
三、Hadoop的版本安全
Hadoop的各分支及發行版(圖片來源:Hadoop operations)app
Hadoop各版本對比說明:
0.20.0-0.20.2:很是穩定的版本,有多個組織在生產環境中部署;
0.20-append:支持對HDFS中的文件進行「附加」操做的版本;HDFS文件系統中的文件一旦創建就沒法修改,但此版本支持對文件進行內容追加的操做,HBase依賴於此功能;
0.20-security:支持Kerberos實現用戶認證的版本,由Yahoo!提供;
0.20.203-0.20.205:在0.20-security的基礎上,修復了大量bug,並增進了性能的版本;現已經發展爲1.0版;
0.21.0:基於主分支的版本,支持append,但不支持kerberos認證;開發版本,不建議生產環境使用;
0.22.0:基於主分支的版本,對HDFS文件系統支持kerberos認證;不過,有些詭異的是,其建立時間晚於0.23版本;
0.23.0:基於主分支的版本,支持append、security、YARN和HDFS聯合(HDFS federation);現已經發展爲2.0版;
1.0.0:基於0.20.205衍生的版本,所以不支持0.2一、0.22和0.23的新增功能;屬於目前的主流的穩定版本;
2.0.0:基於0.23.0衍生的版本,僅支持2.0版本的MapReduce(YARN),但兼容MRv1的API;目前,還須要對其進行更多的測試才能部署於生產環境;分佈式
Hadoop的各版本支持的特性對比(圖片來源:Hadoop operations) ide
四、Hadoop商業發行版
Hadoop的發行版除了ASF的Hadoop外,還有cloudera、hortonworks、MapR、intel、EMC等提供的商業支持版本,分別以本身的附加產品及應用經驗爲Hadoop應用提供專業的技術支持。
2008年成立的Cloudera是最先將Hadoop商用的公司,爲合做夥伴提供Hadoop的商用解決方案,主要是包括技術支持、諮詢服務和培訓等。2009年hadoop的創始人Doug Cutting也任職於Cloudera公司。Cloudera產品主要爲CDH,Cloudera Manager,Cloudera Support。CDH是Cloudera的hadoop發行版,徹底開源,比Apache hadoop在兼容性,安全性,穩定性上有加強。Cloudera Manager是集羣的軟件分發及管理監控平臺,能夠在幾個小時內部署好一個hadoop集羣,並對集羣的節點及服務進行實時監控。Cloudera Support便是對hadoop的技術支持。
2011年成立的Hortonworks是雅虎與硅谷風投公司Benchmark Capital合資組建的公司。公司成立之初吸納了大約25名至30名專門研究Hadoop的雅虎工程師,上述工程師均在2005年開始協助雅虎開發Hadoop,這些工程師貢獻了hadoop 80%的代碼。雅虎工程副總裁、雅虎Hadoop開發團隊負責人Eric Baldeschwieler出任Hortonworks的首席執行官。Hortonworks 的主打產品是Hortonworks Data Platform (HDP),也一樣是100%開源的產品,HDP還包含了一款開源的安裝和管理系統Ambari以及一個元數據管理系統HCatalog。
cloudera和hortonworks都在經過本身的努力不斷地提交代碼修復及完善着Apache Hadoop。若是對其它商業版本有興趣,請分別參照其官方的說明。本書後面選用的Hadoop會以CDH或HDP爲主。
五、Hadoop生態圈oop
參考文獻:
Hadoop Operations
http://www.xiaohui.org/archives/795.html性能