HDFS平衡器是否会强制执行新的机架感知配置?

时间:2014-06-02 15:50:38

标签: hadoop hdfs

假设我有一个包含多个机架的HDFS群集(v 2.0.5),但最初并未设置机架感知功能。已使用默认的3x复制将数据加载到其中。如果我现在将HDFS配置为机架感知,则块的三个副本很可能位于同一个机架上,这不是我想要的。

如果我的群集已经平衡,那么运行HDFS平衡器是否会强制执行块复制策略并适当地改组块,即在机架上有一个块,在另一个机架上有两个块?根据我所读到的内容,似乎群集是平衡的,它只会退出流程。

如果没有,我如何强制HDFS将所需的块重新复制到单独的机架上?

1 个答案:

答案 0 :(得分:1)

如果您更改机架配置,以便现在有两个机架,您只有一个机架,而平衡器将自动确定需要重新平衡同一机架上具有所有副本的块。换句话说,当机架配置发生变化时,它不再认为集群是平衡的(除非机架配置发生变化后,块可能会在某个位置神奇地位于正确的位置)。