HDFS(二)HDFS架构
NameNode(master) and DataNodes(slave)
一個HDFS集群包括一個NameNode和一些DataNode。NameNode管理了一個文件系統的命名空間,可以供客戶端訪問這些文件。DataNode負責數據的存儲。
NameNode暴露出namespace,允許用戶的數據存儲在文件系統中。
一個文件會被切分成一個或者多個blocks,這些block會被存儲在一系列DataNode中。NameNode會執行文件系統namespace操作,例如打開文件、關閉文件、重命名文件或者目錄。NameNode存儲了block和DataNode的一個映射關系,block的副本數,block的大小等。
例如一個文件a.txt的文件大小時150MB,blocksize=128MB,那么在文件系統中a.txt會被拆分成2個block,一個block1大小是128MB,另一個block2大小是22MB。那么block1存放在哪個DataNode上?block2存放在哪個DataNode上?這就是NameNode的作用,NameNode存放的就是這些元數據信息,即block與DataNode的映射關系,對用戶來說時透明的。此外DataNode根據NameNode的具體指令來進行block的創建刪除備份等。
NameNode和DataNode可以運行在普通的機器上。HDFS使用java語言進行開發,因此機器上應該有jdk運行環境,安裝完jdk,才可以運行NameNode和DataNode節點。
通常情況下:一臺機器部署NameNode,其余機器部署DataNode,并不排斥多個DataNode運行在同一個機器上。
總結
以上是生活随笔為你收集整理的HDFS(二)HDFS架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDFS(一) HDFS设计目标
- 下一篇: HDFS 文件系统NameSpace、副