2016-07-28 52 views
0

我添加了第二個節點到我的HDFS。在添加節點之前,主服務器的磁盤使用率爲91%。之後,可用空間仍然越來越小。我使用閾值10重新平衡了羣集,並且塊複製因子設置爲3.我的Hadoop版本爲2.2.4.2-2。任何想法來釋放我的主節點上的空間?HDFS:如何在添加新節點後釋放空間/重新平衡?

+0

什麼是您的「主服務器」? HDFS有namenode和datanode。沒有'主'。 –

+0

我的'主服務器'包含namenode和一個datanode。第二個服務器是第二個datanode。 – Jonas

+0

因此,您在2個datanode羣集上具有複製因子3? –

回答

0

你有一個單一的datanode,大概是所有的HDFS塊。每個塊只有一個副本。如果添加第二個節點並保留複製因子3,那麼您至多會將每個塊複製到新節點,以獲取實際的複製因子2(每個塊具有2個副本,每個節點上一個)。前一個節點沒有空間減少。如果添加第三個數據節點,最多可以爲每個塊創建3個副本,每個節點創建一個,而不會減少原始節點上的空間。只有添加第4個節點時,才能實現一些磁盤使用率的降低,方法是將大約1/4的塊副本從原始節點中移出。

您必須減少複製因子或添加3個以上的節點。在複製因子3下6個節點將實現50%的減少。或者將複製因子更改爲1,並且只有2個節點減少50%,存在丟失塊的風險。

+0

感謝您的回答!如果我將塊複製因子降低到2,每個數據節點都有一個每個塊的副本並實現33%的減少,對吧?僅當您添加3個節點時纔可使用 – Jonas

+0

。兩個節點上的複製因子2必須在每個節點上放置100%的塊。 –

+0

只是爲了確定。高於datanode數量的複製因子將被忽略,每個datanode只包含一個塊的一個副本?我有點困惑,因爲節點1的數據文件夾的大小是1,7TB,節點2的大小是1,2TB。 – Jonas

相關問題