bin/hadoop namenode -format .. bin/start-dfs.sh .. ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /hadoop21/hdfs/datadir: namenode namespaceID = 515704843; datanode namespaceID = 572408927 ..Why? -datanodes have the old version number after formatting the namenode.
Solution? - hacking in to <hdfs-data-path>/datadir/current/VERSION file and changing the version number with the new one (which is 572408927 in this example) solves the problem. Make sure to change it for every data-node in the cluster.
WARNING: most probably you will be loosing the data in HDFS. even though it is not deleted, not accessible with the new version.
To avoid such a boring case, be careful before formatting. Take a look at this