Przeglądaj źródła

ZOOKEEPER-3606: add JMXHOSTNAME to zkServer.sh to enable user to chan…

Add a extra option "JMXHOSTNAME" used to define the hostname bound by metrics service. It is useful to users who make metrics service to response specific hostname when using JMX.

Author: Chia-Ping Tsai <chia7712@gmail.com>

Reviewers: eolivelli@apache.org, fangmin@apache.org

Closes #1141 from chia7712/fix_3606
Chia-Ping Tsai 5 lat temu
rodzic
commit
48e5eaadff
1 zmienionych plików z 7 dodań i 1 usunięć
  1. 7 1
      bin/zkServer.sh

+ 7 - 1
bin/zkServer.sh

@@ -68,7 +68,13 @@ then
     echo "ZooKeeper remote JMX authenticate set to $JMXAUTH" >&2
     echo "ZooKeeper remote JMX ssl set to $JMXSSL" >&2
     echo "ZooKeeper remote JMX log4j set to $JMXLOG4J" >&2
-    ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$JMXPORT -Dcom.sun.management.jmxremote.authenticate=$JMXAUTH -Dcom.sun.management.jmxremote.ssl=$JMXSSL -Dzookeeper.jmx.log4j.disable=$JMXLOG4J org.apache.zookeeper.server.quorum.QuorumPeerMain"
+    if [ "x$JMXHOSTNAME" = "x" ]
+    then
+      ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$JMXPORT -Dcom.sun.management.jmxremote.authenticate=$JMXAUTH -Dcom.sun.management.jmxremote.ssl=$JMXSSL -Dzookeeper.jmx.log4j.disable=$JMXLOG4J org.apache.zookeeper.server.quorum.QuorumPeerMain"
+    else
+      echo "ZooKeeper remote JMX Hostname set to $JMXHOSTNAME" >&2
+      ZOOMAIN="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=$JMXHOSTNAME -Dcom.sun.management.jmxremote.port=$JMXPORT -Dcom.sun.management.jmxremote.authenticate=$JMXAUTH -Dcom.sun.management.jmxremote.ssl=$JMXSSL -Dzookeeper.jmx.log4j.disable=$JMXLOG4J org.apache.zookeeper.server.quorum.QuorumPeerMain"
+    fi
   fi
 else
     echo "JMX disabled by user request" >&2