2013-10-09 20 views
0

我們計劃在我們的Hadoop羣集中添加兩個新的數據節點。谷歌搜索一天後,我仍然無法回答這個問題: 如果新datanode上的硬盤較小,會發生什麼情況? 這會導致HDFS的總體尺寸變小嗎?Hadoop將數據節點添加到較小的硬盤驅動器

下面是一個例子

Datanode1 with 1TB 
Datanode2 with 1TB 
Total storage = 2TB 

增加一個節點與500GB硬盤

Datanode3 with 500GB 

什麼是總HDFS存儲? 2.5TB或1.5TB?

如果它將是2.5TB(我希望如此),那麼hadoop如何平衡不同datanodes與不同硬盤驅動器之間的存儲?

回答

1

總HDFS容量將爲2.5 TB。現有塊將按原樣存在,並且在添加到羣集後將不會移動到新節點。要將某些塊從超載節點移動到欠載節點,請在Hadoop安裝中使用bin/start-balancer.shbin/stop-balancer-sh腳本。

塊放置策略將決定時鐘的去向。由於新節點HDD爲空,新文件的塊放入HDFS的可能性會更大。 OK。

+0

OK。我想我現在已經明白了。 BlockPlacementPolicyDefault.java: '/ *法官如果一個節點是一個很好的target.' '*返回true如果節點有足夠的空間,'' *沒有太多的負荷,並且機架沒有太多nodes' '* /'' 私人布爾isGoodTarget(DatanodeDescriptor節點,'' BLOCKSIZE長,整數maxTargetPerLoc,'' 列表結果){'' // '} ' 所以似乎將可用空間考慮在內。謝謝@PraveenSripati指點我BlockPlacementPolicyDefault – Georgi