Hadoop的HDFS可以分為NameNode與DataNode,NameNode存儲所有DataNode中資料的中繼資料資訊。而DataNode負責存儲真正的資料(資料塊)資訊以及資料塊的ID。
NameNode上并不永久儲存哪個DataNode上有哪些資料塊的資訊,而是通過DataNode啟動時的上報,來更新NameNode上的映射表。
那麼從DataNode上開始一點一點看:
在存儲層面,Storage抽象類繼承了StorageInfo。在StorageInfo中存儲了layoutVersion:版本号,namenodeID是Storage的ID,cTime,creation time,storageType。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuUWM5ADM0ADZ1kTNlVTZyQDM3kjNmZTYyQjMzEzYmNDNfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)