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.