初識
核心分布式記算架構:MapReduce
HDFS
- 實作分布式檔案系統
- hdfs源自于google的GFS論文
- 先将每個檔案拆分大小,存到不同node。
架構
官方文檔
-
NameNode and DataNodes
(1). Master (NameNode/ NN) 帶 n 個slave(DataNode/ DN)
HDFS/ YARN/ HBase
(2). 1個檔案會被拆分成多個blocks
bolcksize:128MB
=>130MB即被拆分成128MB + 2MB
建議:NN和DN部屬在不同節點上
NN:
(1) 負責響應用戶端請求
(2)管理中繼資料(檔案名、副本、block存放的DN)
DN:
(1)使用者檔案對應的block
(2)回報block資訊、健康狀況
-
The File System Namespace
能創件目錄、存儲檔案
做修改都會被記錄下來,應用程式可以指定,拷貝的數量稱為 replication factor (副本系數)
-
Data Replication副本機制
(1)為了容錯,會以多副本的形态存放。
(2)一個檔案除了最後一個Block外,都會是一樣大小。
(3)HDFS隻能寫一次
(4)由NameNode管理(Blockreport)
Blockreport包含以下資訊:檔案名、系數、block id
-
副本存放政策
選擇block存放原則:第一個同節點、第二份放不同Rack、第三份與第二放同Rack不同節點
搭建
- 要求先安裝Java & ssh