大資料學習02

aallofitisst發表於2024-07-19
  1. HDFS (Hadoop Distributed File System)
    HDFS 是 Hadoop 的核心元件之一,旨在解決大資料儲存和管理的問題。其主要特性包括高容錯性、高可擴充套件性和高吞吐量。HDFS 將檔案拆分成多個資料塊,並將這些資料塊分佈儲存在叢集的不同節點上,從而實現資料的高可靠性和高可用性。

HDFS 的主要元件包括:

NameNode:負責管理檔案系統的後設資料,如檔案路徑、資料塊位置等。
DataNode:負責儲存實際的資料塊,並定期向 NameNode 傳送心跳資訊和資料塊報告。
Secondary NameNode:輔助 NameNode 進行後設資料的檢查點操作,避免 NameNode 的單點故障。
學習 HDFS 的過程中,我透過動手操作,理解了 HDFS 的基本工作原理和資料儲存機制,掌握了檔案上傳、下載、複製和刪除等基本操作。

  1. MapReduce
    MapReduce 是一種程式設計模型,用於大規模資料集的並行處理。其核心思想是將任務分成兩個階段:Map 階段和 Reduce 階段。Map 階段負責將輸入資料分割成多個小塊,並進行並行處理;Reduce 階段則負責將 Map 階段的輸出結果進行彙總和合並。

MapReduce 的工作流程如下:

輸入分割:將輸入資料分割成多個資料塊,每個資料塊由一個 Map 任務處理。
Map 階段:每個 Map 任務讀取資料塊並生成鍵值對。
Shuffle 和 Sort 階段:將 Map 階段生成的鍵值對按鍵進行排序和分組。
Reduce 階段:每個 Reduce 任務處理一組具有相同鍵的鍵值對,並生成最終結果。
透過學習 MapReduce,我編寫了簡單的 MapReduce 程式,如詞頻統計,理解了 Map 和 Reduce 函式的實現原理及其在分散式計算中的應用。

  1. YARN (Yet Another Resource Negotiator)
    YARN 是 Hadoop 的資源管理框架,負責叢集資源的管理和任務排程。其主要元件包括:

ResourceManager:負責叢集資源的全域性管理和排程。
NodeManager:負責單個節點上的資源管理和任務執行。
ApplicationMaster:負責管理應用程式的生命週期和任務排程。
YARN 的工作流程包括資源請求、資源分配、任務執行和監控等過程。透過學習 YARN,我理解了其在資源管理和任務排程中的作用,並掌握了基本的配置和最佳化方法。

學習體會
透過對 HDFS、MapReduce 和 YARN 的學習,我對 Hadoop 的整體架構和工作原理有了較為全面的認識。以下是我的一些學習體會:

  1. 理論與實踐結合的重要性
    在學習過程中,我發現僅僅依靠理論知識是不夠的,實踐操作是理解和掌握 Hadoop 技術的關鍵。透過動手實驗,我不僅鞏固了理論知識,還提高了實際操作能力。

  2. 分散式系統的複雜性
    Hadoop 作為一個分散式系統,涉及到大量的網路通訊、資料傳輸和故障處理機制。這些複雜性要求我們在學習過程中要有耐心,並且要深入理解每一個元件的工作原理和相互協作關係。

相關文章