MapReduce is Broken for User-Defined Classes
--------------------------------------------
Key: HADOOP-927
URL: https://issues.apache.org/jira/browse/HADOOP-927
Project: Hadoop
Issue Type: Bug
Components: mapred
Affects Versions: 0.11.0
Reporter: Albert Chern
Priority: Critical
Checked out trunk today and all of my jobs with a user-defined class as a map
output value class fail with a ClassNotFoundException. Here's the stack trace:
java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.ClassNotFoundException: test.StringWrapper
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:344)
at
org.apache.hadoop.mapred.JobConf.getMapOutputValueClass(JobConf.java:406)
at org.apache.hadoop.mapred.ReduceTaskRunner.(ReduceTaskRunner.java:339)
at org.apache.hadoop.mapred.ReduceTask.createRunner(ReduceTask.java:91)
at
org.apache.hadoop.mapred.TaskTracker$TaskInProgress.launchTask(TaskTracker.java:983)
at
org.apache.hadoop.mapred.TaskTracker.launchTaskForJob(TaskTracker.java:366)
at
org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:359)
at
org.apache.hadoop.mapred.TaskTracker.startNewTask(TaskTracker.java:823)
at
org.apache.hadoop.mapred.TaskTracker.offerService(TaskTracker.java:510)
at org.apache.hadoop.mapred.TaskTracker.run(TaskTracker.java:852)
at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:1494)
I haven't looked deeply into it, but I would guess that the problem is in the
constructor of ReduceTaskRunner where it attempts to create a
SequenceFile.Sorter for the map output value class. It's probably done in the
main TaskTracker JVM process, so external libraries are not on its classpath.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.