Hi devs.
I see that in all other code branches other than 0.98 we do not load
JMXListener for masters.
Here is the below code snippet from JMXListener class.
{code}
if (env instanceof MasterCoprocessorEnvironment) {
LOG.error("JMXListener should not be loaded in Master Environment!");
} else if (env instanceof RegionServerCoprocessorEnvironment) {
// running on RegionServer --since 0.99 HMaster is also a HRegionServer
rmiRegistryPort =
conf.getInt("regionserver" + RMI_REGISTRY_PORT_CONF_KEY,
defRMIRegistryPort);
rmiConnectorPort =
conf.getInt("regionserver" + RMI_CONNECTOR_PORT_CONF_KEY,
rmiRegistryPort);
LOG.info("RegionServer rmiRegistryPort:" + rmiRegistryPort
+ ",RegionServer rmiConnectorPort:" + rmiConnectorPort);
} else if (env instanceof RegionCoprocessorEnvironment) {
LOG.error("JMXListener should not be loaded in Region Environment!");
}
{code}
How can one retrieve master metrics from JMX client ? As we have a
system like OM(operation management) which monitors master metrics
using JMX client. We used to retrieve these metrics successfully from
0.98 code branch as there JMListener is loaded in both Master and
RegionServer environments.
--
Ashish Singhi