You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@hadoop.apache.org by fred wang <fr...@gmail.com> on 2009/11/07 15:50:11 UTC

PiEstimator example in my env.(pseudo distributed) run jar works; .class works for local, but doesn't work for non-local(couldn't find class), Need help!

(1)I copied PiEstimator in my env. and build a runnable jar, run the hadoop
jar , it works with correct result

(2) I generated .class in the direcotry ../bin
PiEstimator.class PiEstimator$HaltonSequence.class
PiEstimator$PiMapper.class PiEstimator$PiReducer.class
(3) when I add the ../bin path into the -classpath and try to run (I use
pseudo distributed config) with following error information
java.lang.RuntimeException: Error in configuring object
at
org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:354)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
at org.apache.hadoop.mapred.Child.main(Child.java:170)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
... 5 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.ClassNotFoundException: mypackage.examples.PiEstimator$PiMapper

(4) I run . class with additional options: -fs file:/// -jt local , the
result is correct .

I guess the -classpath doesn't be included in the map or reduce task, which
make .class couldn't be found. Not sure how I could make it found.

Thanks in advance