通過幾年的工做,最近有時間,將本身的知識體系整合一下,發到博客中,共你們學習交流參考,若有錯誤請及時批評斧正,萬分感謝。html
首先我會介紹Hadoop生態圈的相關技術,後期放上來的文章我都會在這裏作個連接,共你們方便查看。apache
Hadoop是Apache提供的開源的海量數據離線處理框架,是最知名的大數據框架之一。架構
最初來源於Google的三篇論文,由Apache基於論文中的原理進行了開源的實現。框架
Google的集羣系統:GFS、MapReduce、BigTable。分佈式
Hadoop的集羣系統:HDFS、MapReduce、HBase。工具
其中HDFS和MapReduce組成了Hadoop,並後續在Hadoop2.0中引入了Yarn。因此目前的Hadoop由以下三個組件組成:oop
HDFS:Hadoop分佈式文件存儲系統。性能
MapReduce:Hadoop分佈式數據計算框架。學習
Yarn:Hadoop分佈式資源協調工具。測試
Hadoop設計的初衷是爲了解決Nutch的海量數據存儲和處理的需求,能夠解決大數據場景下的數據存儲和處理的問題。
Doug Cutting如此解釋Hadoop的得名:「這個名字是我孩子給一頭吃飽了的棕黃色大象命名的。個人命名標準就是簡短,容易發音和拼寫,沒有太多的意義,而且不會被用於別處。小孩子是這方面的高手。Google就是由小孩命名的。」
Hadoop工做須要JDK的支持,請注意下載時對JDK的版本要求。
Hadoop下載地址:http://hadoop.apache.org/releases.html
Hadoop歷史版本下載地址:https://archive.apache.org/dist/hadoop/common/
Apache Hadoop版本分爲三代,咱們將第一代Hadoop稱爲Hadoop 1.0,第二代Hadoop稱爲Hadoop 2.0,而且兩個版本互不兼容。第三代Hadoop稱爲Hadoop3.0。
第一代Hadoop包含三個大版本,分別是0.20.x,0.21.x和0.22.x,其中,0.20.x最後演化成1.0.x,變成了穩定版。而0.21.x和0.22.x則有NameNode HA等新的重大特性。
第二代Hadoop包含兩個版本,分別是0.23.x和2.x,它們徹底不一樣於Hadoop 1.0,是一套全新的架構,均包含HDFS Federation和YARN兩個系統,相比於0.23.x、2.x增長了NameNode HA和Wire-compatibility兩個重大特性。
第三代Hadoop稱爲Hadoop3.0,在2017年9月份釋出的。
Hadoop的安裝分爲單機方式、僞分佈式方式和徹底分佈式方式。
單機模式是Hadoop的默認模式。解壓便可使用單機模式。
單機模式不啓動任何守護進程、沒法使用hdfs和yarn,只能用來進行MapReduce的本地測試、不能用做生產環境。
單機環境下啓動全部的守護進程,具備hadoop的完整功能,可使用hdfs,mapreudce和yarn,可是這些守護進程都運行在同一臺機器上,並不能真正的提供性能上的提高,只能用來開發測試,不能夠用在生產環境下。
以上是官方的說法,這裏須要說一下,僞分佈式也是能夠用到生產環境的,在數據量不是很大,數據可靠性要求不是很強的時候,可使用僞分佈式,要不徹底分佈式的計算速度要快!
啓動全部的守護進程,具備hadoop完整的功能,可使用hdfs、mapreduce和yarn,而且這些守護進程運行在集羣中,能夠真正的利用集羣提供高性能,在生產環境下使用。
解壓直接運行,就是單機模式。
參看:hadoop僞分佈式安裝配置。
參看:Hadoop徹底分佈式配置。
下一篇:Hadoop僞分佈式模式搭建