Despite the tremendous effort being put in Hadoop is clear and many features
seems really nice I must admit I'm a bit disappointed. It would be nice if
somebody could comment and/or explain/point out some possible mistake I have
done (if any).

I have installed v. 0.14.1 and built a cluster of 4 Linux machines. That was
easy and worked immediately. I have loaded 10 files of 50MB each. I have
then used HadoopStreaming to run some test ("bin/hadoop jar
contrib/hadoop-streaming.jar -mapper "mygrep"". mygrep is just the following
script: "grep "05:43:30"").

The only difference among such tests was the number of reduce tasks
configured in hadoop-site.xml. 
Here are the result of my test runs:

=========================================================================

Test 1) mapred.map.tasks=8; mapred.reduce.tasks=1
the job completes (even if it is pretty slow) but I get only half of the
expected results (22 instead of 44)
Logs for the map seem to show all 44 matches were found:

Counters for task_200709131137_0001_m_000005_0
-------------------------------------------------------------------
 Map-Reduce Framework 
 Map input records 906,932 
 Map output records 44 
 Map input bytes 50,000,245 
 Map output bytes 3,028 

But logs for the reduce task show only 22 records

Counters for tip_200709131137_0001_r_000000
-----------------------------------------------------------------------
Map-Reduce Framework 
 Reduce input groups 22 
 Reduce input records 22 
 Reduce output records 22 

=========================================================================

Test 2) mapred.map.tasks=8; mapred.reduce.tasks=2
the job completes successfully (even if takes 30 sec) and I get all 44
expected results

Counters for tip_200709131137_0002_r_000000
--------------------------------------------------------------------------------
Map-Reduce Framework 
 Reduce input groups 22 
 Reduce input records 22 
 Reduce output records 22 

Counters for task_200709131137_0002_r_000001_0
--------------------------------------------------------------------------------
Map-Reduce Framework 
 Reduce input groups 22 
 Reduce input records 22 
 Reduce output records 22

=========================================================================

Test 3) mapred.map.tasks=8; mapred.reduce.tasks=4
The job doesn't complete at all and seems not to be able to recover from a
kind of looping situation:

07/09/13 11:49:14 INFO streaming.StreamJob:  map 0%  reduce 0%
07/09/13 11:49:21 INFO streaming.StreamJob:  map 3%  reduce 0%
07/09/13 11:49:23 INFO streaming.StreamJob:  map 32%  reduce 0%
07/09/13 11:49:24 INFO streaming.StreamJob:  map 33%  reduce 0%
07/09/13 11:49:27 INFO streaming.StreamJob:  map 61%  reduce 0%
07/09/13 11:49:30 INFO streaming.StreamJob:  map 65%  reduce 1%
07/09/13 11:49:31 INFO streaming.StreamJob:  map 87%  reduce 4%
07/09/13 11:49:33 INFO streaming.StreamJob:  map 100%  reduce 9%
07/09/13 11:49:34 INFO streaming.StreamJob:  map 90%  reduce 9%
07/09/13 11:49:37 INFO streaming.StreamJob:  map 90%  reduce 13%
07/09/13 11:49:40 INFO streaming.StreamJob:  map 100%  reduce 17%
07/09/13 11:49:41 INFO streaming.StreamJob:  map 93%  reduce 18%
07/09/13 11:49:42 INFO streaming.StreamJob:  map 94%  reduce 36%
07/09/13 11:49:45 INFO streaming.StreamJob:  map 94%  reduce 53%
07/09/13 11:49:46 INFO streaming.StreamJob:  map 100%  reduce 53%
07/09/13 11:50:20 INFO streaming.StreamJob:  map 92%  reduce 53%
07/09/13 11:50:22 INFO streaming.StreamJob:  map 88%  reduce 53%
07/09/13 11:50:24 INFO streaming.StreamJob:  map 78%  reduce 53%
07/09/13 11:50:25 INFO streaming.StreamJob:  map 82%  reduce 53%
07/09/13 11:50:26 INFO streaming.StreamJob:  map 90%  reduce 53%
07/09/13 11:50:30 INFO streaming.StreamJob:  map 87%  reduce 54%
07/09/13 11:50:31 INFO streaming.StreamJob:  map 90%  reduce 54%
07/09/13 11:50:32 INFO streaming.StreamJob:  map 86%  reduce 55%
07/09/13 11:50:33 INFO streaming.StreamJob:  map 96%  reduce 55%
07/09/13 11:50:35 INFO streaming.StreamJob:  map 100%  reduce 55%
07/09/13 11:50:40 INFO streaming.StreamJob:  map 100%  reduce 56%
07/09/13 11:50:41 INFO streaming.StreamJob:  map 100%  reduce 57%
07/09/13 11:50:42 INFO streaming.StreamJob:  map 100%  reduce 58%
07/09/13 11:51:31 INFO streaming.StreamJob:  map 95%  reduce 58%
07/09/13 11:51:34 INFO streaming.StreamJob:  map 91%  reduce 58%
07/09/13 11:51:40 INFO streaming.StreamJob:  map 91%  reduce 59%
07/09/13 11:51:41 INFO streaming.StreamJob:  map 100%  reduce 60%
07/09/13 11:51:44 INFO streaming.StreamJob:  map 91%  reduce 60%
07/09/13 11:51:50 INFO streaming.StreamJob:  map 91%  reduce 61%
07/09/13 11:51:51 INFO streaming.StreamJob:  map 100%  reduce 62%

Logs on map task side show errors like
Map output lost, rescheduling:
getMapOutput(task_200709131137_0003_m_000001_0,2) failed :
java.io.EOFException
        at java.io.DataInputStream.readFully(DataInputStream.java:178)
        at java.io.DataInputStream.readLong(DataInputStream.java:380)
        at
org.apache.hadoop.mapred.TaskTracker$MapOutputServlet.doGet(TaskTracker.java:1949)
             ..........

and Logs on reduce task side streaming errors like:

Got 0 new map outputs from tasktracker and 0 map outputs from previous
failures
2007-09-13 11:49:59,954 INFO org.apache.hadoop.mapred.ReduceTask:
task_200709131137_0003_r_000002_0 Got 12 known map output location(s);
scheduling...

-- 
View this message in context: 
http://www.nabble.com/Hadoop-v-0.14.1%3A-3-different-test-runs---3-different-results-%21-%21--tf4435536.html#a12654323
Sent from the Hadoop Users mailing list archive at Nabble.com.

Reply via email to