0

我正在尝试以伪分布式模式运行一个简单的作业。masters 文件包含 localhost,slaves 文件包含 localhost。conf 文件正确指向 jobtracker 和 namenode。

在减少尝试的日志中,我一直看到此错误: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 

手动尝试上面的 URL,我得到这个错误: java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getLocalPort()I

有谁知道发生了什么?

4

1 回答 1

1

问题已解决,是 API 不匹配。我在某个时候将一个特定的与 j2ee 相关的 jar 复制到了 Hadoop 的 lib 目录中,并且该 jar 是一个较新的版本,它不包含另一个 jar 中另一个类所请求的特定类。

我回滚到默认库,它工作!

于 2012-09-15T18:50:44.513 回答