I want to attach a debugger to TempletonJobController.java (code that runs in a map job started by templeton service, that in turn will start another job). Does anybody know how to make the job wait for a debugger to attach? i.e. what file to modify to change the java opts?
Eric Details of what I tried: I tried adding it in %hadoop_home%/conf/mapred-site.xml but it didn't work: <property> <name>mapred.child.java.opts</name> <value>-Xdebug -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8004,server=y,suspend=y -Xmx1024m</value> </property> I also tried this, in: %hcatalog_home%\etc\webhcat\webhcat-default.xml Adding: <property> <name>templeton.controller.mr.child.opts</name> <value>-Xdebug -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8004,server=y,suspend=y -server -Xmx256m -Djava.net.preferIPv4Stack=true</value> <description>Java options to be passed to templeton controller map task. The default value of mapreduce child "-Xmx" (heap memory limit) might be close to what is allowed for a map task. Even if templeton controller map task does not need much memory, the jvm (with -server option?) allocates the max memory when it starts. This along with the memory used by pig/hive client it starts can end up exceeding the max memory configured to be allowed for a map task Use this option to set -Xmx to lower value </description> </property> But the job doesn't appear to wait, and I keep seeing this in my job config: mapred.child.java.opts -server -Xmx256m -Djava.net.preferIPv4Stack=true