歡迎來到第 28 天,昨天提到 MapReduce 的觀念,今天要提到另一個 Hadoop 中的重點 HDFS(Hadoop Distributed File System)。
承如前天所提到的,所謂的大數據就是當資料量級大到無法儲存於同一台伺服器、電腦裡的情況,在這種情況底下,資料儲存就需要有特別的管理系統用以確保資料的完整性
在 HDFS 當中最核心的兩個節點分別是
在講解這兩個節點時必須要先提到 HDFS 的儲存方式,資料再存入 HDFS 前會被拆解成數個區塊(Block),這區塊會被複製多次並分別送到不同的 Datanode 上儲存,這裡要特別注意,被複製的區塊與原始區塊一定會被分配到不同的 Datanode 上以確保資料不會因為機器損壞而永久遺失,在儲存到 Datanode 後,會在 Namenode 上紀錄區塊與 Datanode 之間的關係。
講簡單一點就是倉庫與庫存清單的關係,Datanode 就是儲存資料的節點,Namenoe 就是一個清單紀錄每一筆資料在哪個倉庫。
剛剛有提到為了避免區塊因為機器的損壞而讓資料永久遺失,因此會將區塊備份並儲存於不同的節點上,但 Namenode 呢?為了避免類似的事情發生產生出了 Secondary Namenode 的解決方案,可以想像他就是一個備份,定期會備份原始 Namenode 的資料,以確保清單的完整性。
今天學習的就這麼多,明天就要提到最後一個模組 YARN,明天見!