2013-06-27 28 views

回答

0

當客戶想寫入DataNode時,它會聯繫NameNode。 NameNode依靠基於由DataNode發送的塊報告生成的塊位置圖的幫助告訴客戶端哪個特定的DataNode具有可寫入數據的空閒塊。然後客戶端開始直接寫入該節點,而無需與NameNode進行交互。所以這是基於空間可用性的隨機性。它可以是集羣中n個節點中的任何一個節點。由於特定的DataNode累積了大量的數據,因此開始將數據推送到其他節點以創建副本(根據您的複製因子)。因此,DataNode可能同時是讀取和寫入。

org.apache.hadoop.hdfs.server.namenode.BlocksMap維護從塊到其元數據的映射。

HTH