I’m trying to run a simple job in pseudo-distributed mode. The masters file contains localhost, the slaves file contains localhost. The conf file points correctly to the jobtracker and the namenode.
In the logs of the reduce attempts I keep seeing this error:
2012-07-04 14:31:11,149 WARN org.apache.hadoop.mapred.ReduceTask: java.io.IOException: Server returned HTTP response code: 500 for URL:
http://localhost:50060/mapOutput?job=job_201207041420_0002&map=attempt_201207041420_0002_m_000000_0&reduce=0
Trying the above URL manually, I get this error:
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getLocalPort()I
Does anyone know what’s happening?
The problem was solved, it was an API mismatching. I copied at some point a specific j2ee related jar to the lib directory of Hadoop and that jar was of a newer version which didn’t contain a specific class which was requested by another class in another jar.
I rolled back to the default libraries and it worked!