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


Reply via email to