1. 程式人生 > >大資料入門學習筆記(貳)- 初識Hadoop

大資料入門學習筆記(貳)- 初識Hadoop

文章目錄


學習建議官網地址: https://hadoop.apache.org

Hadoop概述

Hadoop概述之Hadoop名字的由來;
Hadoop專案作者的孩子給一個棕黃色的大象樣子的填充玩具的命名
看下圖:
在這裡插入圖片描述
Apache Hadoop軟體庫是一個框架,它允許使用簡單的程式設計模型在計算機叢集之間對大型資料集進行分散式處理。它被設計成從單個伺服器擴充套件到數千臺機器,每臺機器都提供本地計算和儲存。庫本身的設計目的不是依賴硬體來提供高可用性,而是檢測和處理應用層上的故障,因此在一組計算機上提供高可用性的服務,而每組計算機都可能出現故障。主要包括Hadoop Distributed File System (HDFS™)、Hadoop YARN、Hadoop MapReduce。

Hadoop能做什麼

在這裡插入圖片描述
Hadoop主要做以下工作:商業智慧、搜尋引擎、日誌分析、資料探勘
在這裡插入圖片描述

Hadoop核心元件

分散式檔案系統HDFS

  • 源自FGoogle的GFS論X,論發表於2003年10月
  • HDFS 是GFS的克隆版
  • HDFS特點:擴充套件性&容錯性&海量數量儲存
  • 將檔案切分成指定大小的資料塊並以多副本的儲存在多個機器上
  • 資料切分、多副本、容錯等操作對使用者是透明
    在這裡插入圖片描述

分散式檔案系統HDDS

Hadoop3.1開始的一個新模組 https://hadoop.apache.org/ozone/
Hadoop Ozone: An object store for Hadoop.

  • 可擴充套件
    Ozone旨在擴充套件到數百億個檔案和塊,並在未來甚至更多。
    小檔案或大量資料節點不再是限制。
  • 一致性
    儲存層使用RAFT協議來保持一致性。
  • 雲本土
    Hadoop Ozone設計用於YARN和Kubernetes等集裝箱化環境。

資源排程系統YARN

  • YARN: Yet Another Resource Negotiator
  • 負責整個叢集資源的管理和排程
  • YARN特點:擴充套件性&容錯性&多框架資源統一排程
    在這裡插入圖片描述

分散式計算框架MapReduce

  • 源自於Google的MapReduce論X,iX 2004年12月
  • MapReduce是Google MapReduce的克隆版
  • MapReduce特點:擴充套件性&容錯性&海量數量離線處理
    在這裡插入圖片描述

Hadoop優勢

高可靠性

  • 資料儲存:資料塊多副本
  • 資料計算:重新排程作業計算

擴充套件性

  • 儲存/計算資源不夠時,可以橫向的線性擴充套件機器
  • 一個叢集中可以包含數以幹計的節點

其他

  • 儲存在廉價機器上,降低成本
  • 成熟的生態圈

Hadoop發展史

參考博文 http://www.infoq.com/cn/articles/hadoop-ten-years-interpretation-and-development-forecast

Hadoop生態系統

俠義Hadoop VS 廣義Hadoop

  • 狹義的Hadoop :是一個適合大資料分散式儲存( HDFS ) .分散式計算(MapReduce)和資源排程(YARN )的平臺
  • 廣義的Hadoop :指的是Hadoop生態系統, Hadoop生態系統是一個很龐大的概念, hadoop是其中最重要最基礎的一個部分;生態系統中的每一子系統只解決某一個特定的問題域(甚至可能很窄)不搞統一型的一個全能系統,而是小而精的多個小系統
    在這裡插入圖片描述
    特點
  • 開源、社群活躍
  • 囊括了大資料處理的方方面面
  • 成熟的生態圈

Hadoop發行版的選擇

Apache Hadoop(單個俠義Hadoop學習可以使用)(開源)
CDH(市場份額60-70%):Cloudera DIstributed Hadoop(不開源)(廣義生態圈綜合使用)
HDP(市場份額10-20%):Hortonworks Data Platform(開源)