Just wanted to give a quick update.  The recovery was successful, and it
turns out that you can rename the datanode directories (and just update
dfs.datanode.data.dir in hdfs-site.xml).  Simply start the datanode up, and
it will "just work".  At least for Hadoop 3.3.0, the namenode does not know
or care about the datanode's local filesystem organization, as long as all
the blocks are accounted for when the datanode starts up.

Originally, we had:
/hadoop/data/path/a
/hadoop/data/path/b
/hadoop/data/path/c

Now we have:
/hadoop/data/path/x
/hadoop/data/path/y
/hadoop/data/path/z

Due to some drive failures and subsequent shuffling of /dev/sd*, we had
lost the mapping of {a,b,c} on to {x,y,z}.  Fortunately, the design of HDFS
decouples the namespace from the physical data storage, and therefore this
datanode recovery was seamless.

Reply via email to