2012-03-14 106 views
1

我是hadoop的新手,希望更好地理解HDFS中複製的工作方式。假設我有一個10個節點的系統(每個節點1TB),總容量爲10TB。如果我有一個複製因子3,那麼我有每個文件1個原始副本和3個副本。所以,實際上,我的存儲中只有25%是原始數據。所以我的10TB集羣實際上只有2.5TB的原始(未複製)數據。HDFS複製 - 數據存儲

請讓我知道我的思路是否正確。

回答

4

你的想法有點偏離。複製因子爲3意味着您的數據副本總共有3個。更具體地說,對於您的文件,每個塊將有3個副本,所以如果您的文件由10個塊組成,則10個節點中將有30個總塊,或者每個節點約有3個塊。

您認爲10x1TB集羣的容量小於10TB的複製因子爲3,但實際上其功能容量約爲3.3TB,實際容量略低,這是因爲執行任何操作需要的空間處理,保存臨時文件等。

+0

謝謝克里斯!我試圖理解這個工作的內部原理。假設我執行掃描以查找特定模式,此掃描是否會針對文件中每個塊的所有3個副本進行,或者只是該塊的原始/第一個副本? – 2012-03-14 19:20:50

+0

只是塊的一個副本。選擇的副本是隨機的 - 沒有「主」副本。 – 2012-03-14 19:28:37