[
https://issues.apache.org/jira/browse/MAPREDUCE-2637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13063746#comment-13063746
]
Bhallamudi Venkata Siva Kamesh commented on MAPREDUCE-2637:
-----------------------------------------------------------
We choose a base port.
1) If the task type is map task, *basePort + MapTaskId* will be the debug port
for map task.
2) If the task type is reduce task, *basePort - ReduceTaskId* will be the debug
port for reduce task.
There will be no port conflict issues, even a reduce task is started while a
map task is still in progress.
But this is possible, only when a particular range of ports are free.
> Providing options to debug the mapreduce user code (Mapper, Reducer,
> Combiner, Sort implementations)
> ----------------------------------------------------------------------------------------------------
>
> Key: MAPREDUCE-2637
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2637
> Project: Hadoop Map/Reduce
> Issue Type: Improvement
> Components: tasktracker
> Reporter: Devaraj K
> Assignee: Devaraj K
>
> Presently Hadoop provides "mapred.child.java.opts" configuration which can be
> used to set JVM options for Child JVM running Map or Reduce Task.
> If we need to remote debug the Child JVM, we can add remote debugging options
> to this configuration value.
> But this will work only for single Child JVM. Other children will fail as the
> remote debugging port is already used.
> We cannot specify the remote debugging port dynamically.
> As a result, it's not possible to remote debug multiple Child JVMs.
> As a solution to this problem, we can provide a configuration to debug Task
> JVMs in this scenario.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira