Hi, I was trying to use Jconsole to monitor MR child processes (i.e. mappers and reducers), but nothing I tried worked.
According to this link http://hadoop.apache.org/common/docs/r0.20.2/mapred_tutorial.html#Task+Execution+%26+Environment I added below lines to my mapred configuration file. <property> <name>mapred.child.java.opts</name> <value> -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false </value> </property> The problem is, since the configuration does not specify a port number, how am I supposed to know which port is opened waiting for JConsole to connect to? So I searched a little bit more and found this article http://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html#remote Following this article, I modified the property to be <property> <name>mapred.child.java.opts</name> <value> *-Dcom.sun.management.jmxremote.port=8765* -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false </value> </property> where 8765 is the port I would like to use for jmxrmi. Here comes another problem: since more than one child will be spawned, how could one monitor-port be shared by several processes? As you could imagine, this solution didn't work for me either. I am stuck here. I wonder has anybody tried this before? Any suggestions/comments welcome! Xun