HDFS(Hadoop Distributed File System )Hadoop分布式文件系統(tǒng)。是根據(jù)google發(fā)表的論文翻版的。論文為GFS(Google File System)Google 文件系統(tǒng)(中文,英文)。

1. 架構(gòu)分析

基礎名詞解釋:

  • Block: 在HDFS中,每個文件都是采用的分塊的方式存儲,每個block放在不同的datanode上,每個block的標識是一個三元組(block id, numBytes,generationStamp),其中block id是具有唯一性,具體分配是由namenode節(jié)點設置,然后再由datanode上建立block文件,同時建立對應block meta文件
  • Packet:在DFSclient與DataNode之間通信的過程中,發(fā)送和接受數(shù)據(jù)過程都是以一個packet為基礎的方式進行
  • Chunk:中文名字也可以稱為塊,但是為了與block區(qū)分,還是稱之為chunk。在DFSClient與DataNode之間通信的過程中,由于文件采用的是基于塊的方式來進行的,但是在發(fā)送數(shù)據(jù)的過程中是以packet的方式來進行的,每個packet包含了多個chunk,同時對于每個chunk進行checksum計算,生成checksum bytes
  • 小結(jié):

1. 一個文件被拆成多個block持續(xù)化存儲(block size 由配置文件參數(shù)決定)   思考: 修改 block size 對以前持續(xù)化的數(shù)據(jù)有何影響?

2. 數(shù)據(jù)通訊過程中一個 block 被拆成 多個 packet

3. 一個 packet 包含多個 chunk

  • Packet結(jié)構(gòu)與定義: Packet分為兩類,一類是實際數(shù)據(jù)包,另一類是heatbeat包。一個Packet數(shù)據(jù)包的組成結(jié)構(gòu),如圖所示

網(wǎng)友評論