[ https://issues.apache.org/jira/browse/HADOOP-1699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12518600 ]
Arun C Murthy commented on HADOOP-1699: --------------------------------------- Please take a look at the config knob {{mapred.child.java.opts}}: {noformat} <property> <name>mapred.child.java.opts</name> <value>-Xmx200m</value> <description>Java opts for the task tracker child processes. Subsumes 'mapred.child.heap.size' (If a mapred.child.heap.size value is found in a configuration, its maximum heap size will be used and a warning emitted that heap.size has been deprecated). Also, the following symbols, if present, will be interpolated: @taskid@ is replaced by current TaskID; and @port@ will be replaced by mapred.task.tracker.report.port + 1 (A second child will fail with a port-in-use if mapred.tasktracker.tasks.maximum is greater than one). Any other occurrences of '@' will go unchanged. For example, to enable verbose gc logging to a file named for the taskid in /tmp and to set the heap maximum to be a gigabyte, pass a 'value' of: -Xmx1024m -verbose:gc -Xloggc:/tmp/@[EMAIL PROTECTED] </description> </property> {noformat} I'm inclined to resolve this bug as *Invalid* since it already is supported... agree? > Child task debugging on Hadoop > ------------------------------ > > Key: HADOOP-1699 > URL: https://issues.apache.org/jira/browse/HADOOP-1699 > Project: Hadoop > Issue Type: Improvement > Components: mapred > Environment: Any hadoop installation > Reporter: Srikanth Kakani > Priority: Critical > > Recently I discovered debugging a map/reduce task on hadoop can be simplified > with couple of lines code in TaskRunner enabling us to run jdb on the child > tasks. > TaskRunner.java: 282 > if(conf.getBoolean("mapred.debug.child.task", false)) { > Random r=new Random(); > int debugPort=8000 + r.nextInt(1000); > vargs.add("-Xdebug"); > vargs.add("-Xrunjdwp:transport=dt_socket,address="+ debugPort > +",server=y,suspend=n"); > LOG.info("Running debug server for task "+ t.getTaskId() + " at > port" + debugPort); > } > This code runs the child tasks with debug enabled after getting a > configuration variable. > Connecting to a child task is as simple as running jdb -attach > <hostname>:<debugPort> from anywhere. Additionally authentication information > could be included in the jobConf. > I believe it will greatly reduce the development/debug time on hadoop. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.