You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Eric Payne (Commented) (JIRA)" <ji...@apache.org> on 2011/11/28 19:03:39 UTC
[jira] [Commented] (MAPREDUCE-3404) Speculative Execution:
speculative map tasks launched even if -Dmapreduce.map.speculative=false
[ https://issues.apache.org/jira/browse/MAPREDUCE-3404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13158604#comment-13158604 ]
Eric Payne commented on MAPREDUCE-3404:
---------------------------------------
I have two corrections to make and three observation.
* Corrections:
** The property name that controls mapper speculative execution is {{mapreduce.map.speculative}} rather than
{{mapreduce.job.maps.speculative.execution}}.
** The property name that controls reduce speculative execution is {{mapreduce.reduce.speculative}} rather than
{{mapreduce.job.reduces.speculative.execution}}.
* Observations:
** If the config values are set as follows in the _mapred-site.xml_ file, then overriding of {{mapreduce.map.speculative}}
works as expected on the command line:
{noformat}
<property>
<name>mapreduce.map.speculative</name>
<value>true</value>
</property>
<property>
<name>mapreduce.reduce.speculative</name>
<value>false</value>
</property>
{noformat}
*** That is, -Dmapreduce.map.speculative=false on the command line will override the value in the config file and turn
off speculative map execution.
** However, if mapreduce.reduce.speculative is set to true in the config file (as in the following example), it is not
possible to turn off speculative *map* execution on the command line. For some reason, setting
mapreduce.reduce.speculative to true in the config file overrides the command line value of mapreduce.map.speculative
{noformat}
<property>
<name>mapreduce.map.speculative</name>
<value>true</value>
</property>
<property>
<name>mapreduce.reduce.speculative</name>
<value>true</value>
</property>
{noformat}
** Also, if the config file sets {{mapreduce.map.speculative}} to {{false}} but leaves {{mapreduce.reduce.speculative}} set to {{true}}, the speculative execution still happens for the mappers even though {{mapreduce.reduce.speculative}} is {{false}}. So, this is not just a command line override issue.
> Speculative Execution: speculative map tasks launched even if -Dmapreduce.map.speculative=false
> -----------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-3404
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-3404
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: job submission, mrv2
> Affects Versions: 0.23.0
> Environment: Hadoop version is: Hadoop 0.23.0.1110031628
> 10 node test cluster
> Reporter: patrick white
> Assignee: Eric Payne
> Priority: Critical
>
> When forcing a mapper to take significantly longer than other map tasks, speculative map tasks are
> launched even if the mapreduce.job.maps.speculative.execution parameter is set to 'false'.
> Testcase: ran default WordCount job with spec execution set to false for both map and reduce but still saw a fifth mapper
> task launch, ran job as follows:
> hadoop --config <config> jar /tmp/testphw/wordcount.jar WordCount
> -Dmapreduce.job.maps.speculative.execution=false -Dmapreduce.job.reduces.speculative.execution=false
> /tmp/test_file_of_words* /tmp/file_of_words.out
> Input data was 4 text files >hdfs blocksize, with same word pattern plus one diff text line in each file, fourth
> file was 4 times as large as others:
> hadoop --config <config> fs -ls /tmp
> Found 5 items
> drwxr-xr-x - user hdfs 0 2011-10-20 16:17 /tmp/file_of_words.out
> -rw-r--r-- 3 user hdfs 62800021 2011-10-20 14:45 /tmp/test_file_of_words1
> -rw-r--r-- 3 user hdfs 62800024 2011-10-20 14:46 /tmp/test_file_of_words2
> -rw-r--r-- 3 user hdfs 62800024 2011-10-20 14:46 /tmp/test_file_of_words3
> -rw-r--r-- 3 user hdfs 271708312 2011-10-20 15:50 /tmp/test_file_of_words4
> Job launched 5 mappers despite spec exec set to false, output snippet:
> org.apache.hadoop.mapreduce.JobCounter
> NUM_FAILED_MAPS=1
> TOTAL_LAUNCHED_MAPS=5
> TOTAL_LAUNCHED_REDUCES=1
> RACK_LOCAL_MAPS=5
> SLOTS_MILLIS_MAPS=273540
> SLOTS_MILLIS_REDUCES=212876
> Reran same case as above only set both spec exec params to 'true', same results only this time the fifth task being
> launched is expected since spec exec = true.
> job run:
> hadoop --config <config> jar /tmp/testphw/wordcount.jar WordCount
> -Dmapreduce.job.maps.speculative.execution=true -Dmapreduce.job.reduces.speculative.execution=true
> /tmp/test_file_of_words* /tmp/file_of_words.out
> output snippet:
> org.apache.hadoop.mapreduce.JobCounter
> NUM_FAILED_MAPS=1
> TOTAL_LAUNCHED_MAPS=5
> TOTAL_LAUNCHED_REDUCES=1
> RACK_LOCAL_MAPS=5
> SLOTS_MILLIS_MAPS=279653
> SLOTS_MILLIS_REDUCES=211474
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira