From 07e50f28b18dfbae743f2de11147a50f9abadc5d Mon Sep 17 00:00:00 2001 From: stack Date: Wed, 29 Apr 2015 14:36:08 -0700 Subject: [PATCH] HBASE-13564 Master MBeans are not published (Ashish Singhi) + Addendum --- .../org/apache/hadoop/hbase/JMXListener.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java index d1a30e87ac2..0d1c7c41849 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java @@ -51,7 +51,8 @@ public class JMXListener implements Coprocessor { private static final Log LOG = LogFactory.getLog(JMXListener.class); public static final String RMI_REGISTRY_PORT_CONF_KEY = ".rmi.registry.port"; public static final String RMI_CONNECTOR_PORT_CONF_KEY = ".rmi.connector.port"; - public static final int defRMIRegistryPort = 10102; + public static final int defMasterRMIRegistryPort = 10101; + public static final int defRegionserverRMIRegistryPort = 10102; /** * workaround for HBASE-11146 @@ -163,11 +164,17 @@ public class JMXListener implements Coprocessor { Configuration conf = env.getConfiguration(); 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 + // running on Master rmiRegistryPort = - conf.getInt("regionserver" + RMI_REGISTRY_PORT_CONF_KEY, defRMIRegistryPort); + conf.getInt("master" + RMI_REGISTRY_PORT_CONF_KEY, defMasterRMIRegistryPort); + rmiConnectorPort = conf.getInt("master" + RMI_CONNECTOR_PORT_CONF_KEY, rmiRegistryPort); + LOG.info("Master rmiRegistryPort:" + rmiRegistryPort + ",Master rmiConnectorPort:" + + rmiConnectorPort); + } else if (env instanceof RegionServerCoprocessorEnvironment) { + // running on RegionServer + rmiRegistryPort = + conf.getInt("regionserver" + RMI_REGISTRY_PORT_CONF_KEY, + defRegionserverRMIRegistryPort); rmiConnectorPort = conf.getInt("regionserver" + RMI_CONNECTOR_PORT_CONF_KEY, rmiRegistryPort); LOG.info("RegionServer rmiRegistryPort:" + rmiRegistryPort @@ -175,6 +182,7 @@ public class JMXListener implements Coprocessor { } else if (env instanceof RegionCoprocessorEnvironment) { LOG.error("JMXListener should not be loaded in Region Environment!"); + return; } synchronized(JMXListener.class) {