Repository: hbase Updated Branches: refs/heads/branch-1 57e5b969c -> 2a02e679c
HBASE-13564 Master MBeans are not published Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2a02e679 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2a02e679 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2a02e679 Branch: refs/heads/branch-1 Commit: 2a02e679ccf95b901184afc908e49b826fc9ef55 Parents: 57e5b96 Author: Ashish Singhi <[email protected]> Authored: Sat Apr 25 16:43:27 2015 +0530 Committer: Nick Dimiduk <[email protected]> Committed: Mon Apr 27 21:24:04 2015 -0700 ---------------------------------------------------------------------- .../java/org/apache/hadoop/hbase/JMXListener.java | 16 ++++++++++++---- .../org/apache/hadoop/hbase/TestJMXListener.java | 3 +++ 2 files changed, 15 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/2a02e679/hbase-server/src/main/java/org/apache/hadoop/hbase/JMXListener.java ---------------------------------------------------------------------- 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 6a115ba..6d22142 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 { public 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!"); + // running on Master + rmiRegistryPort = + 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 --since 0.99 HMaster is also a HRegionServer + // running on RegionServer rmiRegistryPort = - conf.getInt("regionserver" + RMI_REGISTRY_PORT_CONF_KEY, defRMIRegistryPort); + 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) { http://git-wip-us.apache.org/repos/asf/hbase/blob/2a02e679/hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java index af602a5..510c954 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestJMXListener.java @@ -52,6 +52,9 @@ public class TestJMXListener { conf.set(CoprocessorHost.REGIONSERVER_COPROCESSOR_CONF_KEY, JMXListener.class.getName()); conf.setInt("regionserver.rmi.registry.port", connectorPort); + + conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY, JMXListener.class.getName()); + conf.setInt("master.rmi.registry.port", connectorPort - 1); UTIL.startMiniCluster(); }
