El 6/5/2011 4:01 PM, Siddhartha Jonnalagadda escribió:
Hi Marcos,

I thought that streaming would make it easier because I was getting different errors with extending mapper and reducer in java.

I tried: hadoop jar contrib/streaming/hadoop-streaming-0.20.203.0.jar -file dummy.jar -mapper "java -cp dummy.jar WCMapper" -reducer "java -cp dummy.jar WCReducer" -input gutenberg/* -output gutenberg-output

The error log in the map task:
*_stderr logs_*
Exception in thread "main" java.lang.NoClassDefFoundError: WCMapper
Caused by: java.lang.ClassNotFoundException: WCMapper
Which is the definition of your ClassPath? Because, this error is caused where the system can not find
the definition of a class.
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)


        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)


Could not find the main class: WCMapper.  Program will exit.
java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed 
with code 1
        at 
org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311)


        at 
org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545)
        at org.apache.hadoop.streaming.PipeMapper.map(PipeMapper.java:121)
        at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
        at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)


        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:435)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:371)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:259)
        at java.security.AccessController.doPrivileged(Native Method)


        at javax.security.auth.Subject.doAs(Subject.java:396)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
        at org.apache.hadoop.mapred.Child.main(Child.java:253)
java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed 
with code 1


        at 
org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311)
        at 
org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545)
        at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:132)


        at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
        at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:435)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:371)


        at org.apache.hadoop.mapred.Child$4.run(Child.java:259)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)


        at org.apache.hadoop.mapred.Child.main(Child.java:253)
------------------------------------------------------------------------



Sincerely,
Siddhartha Jonnalagadda,
sjonnalagadda.wordpress.com <http://sjonnalagadda.wordpress.com>


Confidentiality Notice:

This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.






On Sun, Jun 5, 2011 at 10:59 AM, Marcos Ortiz Valmaseda <[email protected] <mailto:[email protected]>> wrote:

    Why are using Java in streming mode instead use the native
    Mapper/Reducer code?
    Can you show to us the JobTracker's logs?

    Regards
    ----- Mensaje original -----
    De: "Siddhartha Jonnalagadda" <[email protected]
    <mailto:[email protected]>>
    Para: [email protected]
    <mailto:[email protected]>
    Enviados: Domingo, 5 de Junio 2011 7:16:08 GMT +01:00 Amsterdam /
    Berlín / Berna / Roma / Estocolmo / Viena
    Asunto: question about using java in streaming mode

    Hi,


    I was able use streaming in hadoop using python for the wordcount
    program, but created a Mapper and Reducer in Java since all my
    code is currently in Java.
    I first tried this:
    echo “foo foo quux labs foo bar quux” |java -cp ~/dummy.jar
    WCMapper | sort | java -cp ~/dummy.jar WCReducer

    It gave the correct output:
    labs 1
    foo 3
    bar 1
    quux 2

    Then, I installed a single-node cluster in hadoop and tried this:
    hadoop jar contrib/streaming/hadoop-streaming-0.20.203.0.jar
    -mapper “java -cp ~/dummy.jar WCMapper” -reducer “java -cp
    ~/dummy.jar WCReducer” -input gutenberg/* -output gutenberg-output
    -file dummy.jar (by tailoring the python command)

    This is the error:
    hadoop@siddhartha-laptop:/usr/local/hadoop$ hadoop jar
    contrib/streaming/hadoop-streaming-0.20.203.0.jar -mapper “java
    -cp ~/dummy.jar WCMapper” -reducer “java -cp ~/dummy.jar
    WCReducer” -input gutenberg/* -output gutenberg-output -file dummy.jar
    packageJobJar: [dummy.jar,
    /app/hadoop/tmp/hadoop-unjar5573454211442575176/] []
    /tmp/streamjob6721719460213928092.jar tmpDir=null
    11/06/04 20:47:15 INFO mapred.FileInputFormat: Total input paths
    to process : 3
    11/06/04 20:47:15 INFO streaming.StreamJob: getLocalDirs():
    [/app/hadoop/tmp/mapred/local]
    11/06/04 20:47:15 INFO streaming.StreamJob: Running job:
    job_201106031901_0039
    11/06/04 20:47:15 INFO streaming.StreamJob: To kill this job, run:
    11/06/04 20:47:15 INFO streaming.StreamJob:
    /usr/local/hadoop/bin/../bin/hadoop job
    -Dmapred.job.tracker=localhost:54311 -kill job_201106031901_0039
    11/06/04 20:47:15 INFO streaming.StreamJob: Tracking URL:
    http://localhost:50030/jobdetails.jsp?jobid=job_201106031901_0039
    11/06/04 20:47:16 INFO streaming.StreamJob: map 0% reduce 0%
    11/06/04 20:48:00 INFO streaming.StreamJob: map 100% reduce 100%
    11/06/04 20:48:00 INFO streaming.StreamJob: To kill this job, run:
    11/06/04 20:48:00 INFO streaming.StreamJob:
    /usr/local/hadoop/bin/../bin/hadoop job
    -Dmapred.job.tracker=localhost:54311 -kill job_201106031901_0039
    11/06/04 20:48:00 INFO streaming.StreamJob: Tracking URL:
    http://localhost:50030/jobdetails.jsp?jobid=job_201106031901_0039
    11/06/04 20:48:00 ERROR streaming.StreamJob: Job not successful.
    Error: NA
    11/06/04 20:48:00 INFO streaming.StreamJob: killJob…
    Streaming Job Failed!

    Any advice?
    Sincerely,
    Siddhartha Jonnalagadda,
    Text mining Researcher, Lnx Research, LLC, Orange, CA
    sjonnalagadda.wordpress.com <http://sjonnalagadda.wordpress.com>







    Confidentiality Notice:

    This e-mail message, including any attachments, is for the sole
    use of the intended recipient(s) and may contain confidential and
    privileged information. Any unauthorized review, use, disclosure
    or distribution is prohibited. If you are not the intended
    recipient, please contact the sender by reply e-mail and destroy
    all copies of the original message.

    --
    Marcos Luís Ortíz Valmaseda
     Software Engineer (Large-Scaled Distributed Systems)
    http://marcosluis2186.posterous.com




--
Marcos Luís Ortíz Valmaseda
 Software Engineer (UCI)
 http://marcosluis2186.posterous.com
 http://twitter.com/marcosluis2186

Reply via email to