You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-user@hadoop.apache.org by Michael Robinson <ha...@gmail.com> on 2010/06/20 05:01:57 UTC

PipeMapRed.waitOutputThreads(): subprocess failed with code 50

I am new to hadoop and I am experimenting with hadoop-streaming.

I run this task:
bin/hadoop jar hadoop-streaming.jar -input pa01.idx -output outputTestDirC
-mapper cat -reducer mywc.exe

and I am getting this error:
PipeMapRed.waitOutputThreads(): subprocess failed with code 50

If there a place where I can find what error 50 means?


 mywc,c looks like this:

#include <stdio.h>
//name: mywc.c


void main()
{
    int c, nc = 0, nl = 0;

    while ( (c = getchar()) != EOF )
    {
	nc++;
	if (c == '\n') nl++;
    }

    printf("Number of characters = %d, number of lines = %d\n",
	   nc, nl);
}

and runs well when I run it like this:

./mywc < pa01.idx


Thanks for your help

Michael
-- 
View this message in context: http://lucene.472066.n3.nabble.com/PipeMapRed-waitOutputThreads-subprocess-failed-with-code-50-tp908574p908574.html
Sent from the Hadoop lucene-users mailing list archive at Nabble.com.

Re: PipeMapRed.waitOutputThreads(): subprocess failed with code 50

Posted by Edward Choi <mp...@gmail.com>.
Dear Michael

I can't tell you what error code 50 means. But since i had error code 134 and 139 that bugged me over a week, i think i can give you some tips. 
In my case error code 134 and 139 did not tell me anything useful. The problem was always my mapper code or my reducer code. Nothing wrong with hadoop itself. 

And i am not sure if you can use cat as a mapper. In hadoop streaming mapper has to produce output in the form of key and value delimited by a tab. And reducer has to assume that the input is of the same form. Your code does not seem to have that assumption. Maybe that could be the problem. 
Hope this helps. 

Edward

2010. 6. 20. 오후 12:01 Michael Robinson <ha...@gmail.com> 작성:
> 
> I am new to hadoop and I am experimenting with hadoop-streaming.
> 
> I run this task:
> bin/hadoop jar hadoop-streaming.jar -input pa01.idx -output outputTestDirC
> -mapper cat -reducer mywc.exe
> 
> and I am getting this error:
> PipeMapRed.waitOutputThreads(): subprocess failed with code 50
> 
> If there a place where I can find what error 50 means?
> 
> 
> mywc,c looks like this:
> 
> #include <stdio.h>
> //name: mywc.c
> 
> 
> void main()
> {
>    int c, nc = 0, nl = 0;
> 
>    while ( (c = getchar()) != EOF )
>    {
>    nc++;
>    if (c == '\n') nl++;
>    }
> 
>    printf("Number of characters = %d, number of lines = %d\n",
>       nc, nl);
> }
> 
> and runs well when I run it like this:
> 
> ./mywc < pa01.idx
> 
> 
> Thanks for your help
> 
> Michael
> -- 
> View this message in context: http://lucene.472066.n3.nabble.com/PipeMapRed-waitOutputThreads-subprocess-failed-with-code-50-tp908574p908574.html
> Sent from the Hadoop lucene-users mailing list archive at Nabble.com.