On Feb 4, 2011, at 5:00 PM, Jonathan Disher wrote:
> In my existing 48-node cluster, the engineer who originally designed it (no longer here) did not specify logical racks in the HDFS configuration, instead leaving everything in "default-rack". Now I have 4 physical racks of machines, and I am becoming concerned about failure and near/far replication issues.
> Anyone have any ideas what will happen if I tell hadoop about the physical rack layout (i.e. nuke default-rack, and create rack110, rack111, rack112, rack113, etc)?
What will happen is that your next fsck run will be full of replication policy violation errors/warnings (I forget which). These are non-fatal and trivial to fix if you have enough space:
a) use setrep to increase the replication factor of all files
b) let the namenode re-replicate all blocks
c) use setrep again to decrease the replication factor of all files
d) let the namenode remove an extra replica: it will almost always choose a replica that violates policy
Is it worth fixing? Yes, definitely, for the reasons you suspect: if you lose a rack, you might lose data.