4.3 Hadoop概念

尹成發表於2018-11-15

Hadoop是一個由Apache基金會所開發的分散式系統基礎架構。
使用者可以在不瞭解分散式底層細節的情況下,開發分散式程式。充分利用叢集的威力進行高速運算和儲存。
Hadoop實現了一個分散式檔案系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,並且設計用來部署在低廉的(low-cost)硬體上;而且它提供高吞吐量(high throughput)來訪問應用程式的資料,適合那些有著超大資料集(large data set)的應用程式。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)檔案系統中的資料。
Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的資料提供了儲存,則MapReduce為海量的資料提供了計算。

專案起源
Hadoop由 Apache Software Foundation 公司於 2005 年秋天作為Lucene的子專案Nutch的一部分正式引入。它受到最先由 Google Lab 開發的 Map/Reduce 和 Google File System(GFS) 的啟發。
2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分別被納入稱為 Hadoop 的專案中。
Hadoop 是最受歡迎的在 Internet 上對搜尋關鍵字進行內容分類的工具,但它也可以解決許多要求極大伸縮性的問題。例如,如果您要 grep 一個 10TB 的巨型檔案,會出現什麼情況?在傳統的系統上,這將需要很長的時間。但是 Hadoop 在設計時就考慮到這些問題,採用並行執行機制,因此能大大提高效率。
發展歷程
Hadoop原本來自於谷歌一款名為MapReduce的程式設計模型包。谷歌的MapReduce框架可以把一個應用程式分解為許多平行計算指令,跨大量的計算節點執行非常巨大的資料集。使用該框架的一個典型例子就是在網路資料上執行的搜尋演算法。Hadoop [3] 最初只與網頁索引有關,迅速發展成為分析大資料的領先平臺。
目前有很多公司開始提供基於Hadoop的商業軟體、支援、服務以及培訓。Cloudera是一家美國的企業軟體公司,該公司在2008年開始提供基於Hadoop的軟體和服務。GoGrid是一家雲端計算基礎設施公司,在2012年,該公司與Cloudera合作加速了企業採納基於Hadoop應用的步伐。Dataguise公司是一家資料安全公司,同樣在2012年該公司推出了一款針對Hadoop的資料保護和風險評估。
名字起源
Hadoop這個名字不是一個縮寫,而是一個虛構的名字。該專案的建立者,Doug Cutting解釋Hadoop的得名 :“這個名字是我孩子給一個棕黃色的大象玩具命名的。我的命名標準就是簡短,容易發音和拼寫,沒有太多的意義,並且不會被用於別處。小孩子恰恰是這方面的高手。”
優點
Hadoop是一個能夠對大量資料進行分散式處理的軟體框架。 Hadoop 以一種可靠、高效、可伸縮的方式進行資料處理。
Hadoop 是可靠的,因為它假設計算元素和儲存會失敗,因此它維護多個工作資料副本,確保能夠針對失敗的節點重新分佈處理。
Hadoop 是高效的,因為它以並行的方式工作,通過並行處理加快處理速度。
Hadoop 還是可伸縮的,能夠處理 PB 級資料。
此外,Hadoop 依賴於社群服務,因此它的成本比較低,任何人都可以使用。
Hadoop是一個能夠讓使用者輕鬆架構和使用的分散式計算平臺。使用者可以輕鬆地在Hadoop上開發和執行處理海量資料的應用程式。它主要有以下幾個優點:
高可靠性。Hadoop按位儲存和處理資料的能力值得人們信賴。
高擴充套件性。Hadoop是在可用的計算機集簇間分配資料並完成計算任務的,這些集簇可以方便地擴充套件到數以千計的節點中。
高效性。Hadoop能夠在節點之間動態地移動資料,並保證各個節點的動態平衡,因此處理速度非常快。
高容錯性。Hadoop能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新分配。
低成本。與一體機、商用資料倉儲以及QlikView、Yonghong Z-Suite等資料集市相比,hadoop是開源的,專案的軟體成本因此會大大降低。
Hadoop帶有用Java語言編寫的框架,因此執行在 Linux 生產平臺上是非常理想的。Hadoop 上的應用程式也可以使用其他語言編寫,比如 C++。
hadoop大資料處理的意義
Hadoop得以在大資料處理應用中廣泛應用得益於其自身在資料提取、變形和載入(ETL)方面上的天然優勢。Hadoop的分散式架構,將大資料處理引擎儘可能的靠近儲存,對例如像ETL這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向儲存。Hadoop的MapReduce功能實現了將單個任務打碎,並將碎片任務(Map)傳送到多個節點上,之後再以單個資料集的形式載入(Reduce)到資料倉儲裡。
核心架構
Hadoop 由許多元素構成。其最底部是 Hadoop Distributed File System(HDFS),它儲存 Hadoop 叢集中所有儲存節點上的檔案。HDFS(對於本文)的上一層是MapReduce 引擎,該引擎由 JobTrackers 和 TaskTrackers 組成。通過對Hadoop分散式計算平臺最核心的分散式檔案系統HDFS、MapReduce處理過程,以及資料倉儲工具Hive和分散式資料庫Hbase的介紹,基本涵蓋了Hadoop分散式平臺的所有技術核心。

學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928

清華團隊帶你實戰區塊鏈開發
掃碼獲取海量視訊及原始碼 QQ群:721929980
在這裡插入圖片描述

相關文章