I've been following along setting up my 2 node cluster by the guide at http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Multi-Node_Cluster) and I love it. Great guide.

It even anticipates the first problem I had (with the incompatible namespaceIDs), which was awesome. Now I have another problem:

Starting up DFS works fine now, but when I try to bin/start-mapred.sh the TaskTracker fails to start on the slave (it starts fine on the master). On the slave node task trackerlogs I see the error message "Shutting down. Incompatible buildVersion." The version it claims to start with on the slave tasktracker, the master node's tasktracker, and the master's jobtracker is 0.18.2-dev everywhere.

I see "Report from tracker_micro2:localhost/127.0.0.1:46035: Shutting down. Incompatible buildVersion" in the JobTracker log as well.

What could be causing this? I'm totally stumped.

(10 minutes of feeling stupid follow)

Just found another bit of info:

~/hadoop-0.18.1$ bin/hadoop version Hadoop 0.18.2-dev Subversion -r Compiled by jtv on Thu Oct 9 20:45:34 PDT 2008

~/hadoop-0.18.1$ bin/hadoop version Hadoop 0.18.2-dev Subversion -r Compiled by jtv on Thu Oct 9 20:40:07 PDT 2008

I now have a hypothesis that the different "compiled on" dates are messing it up.

(5 minutes of trying to remember the exact syntax for how to turn a directory into a tarball follow)

That was indeed the issue: having downloaded the same hadoop source onto both boxes and compiled it twice, the tasktracker on one refused to talk to the jobtracker on the other. Taring up the compiled results from one and copying them to the other made everything work.