如何为 HBASE 主服务器和区域服务器启用 JMX

How To enable JMX for HBASE master and Region servers

我使用的是 HBase 版本 2.0.2。我计划通过以下 Url.

启用相同的 JMX
https://hbase.apache.org/metrics.html

我在 HBase-env.sh 文件中添加了以下行

HBASE_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false"
HBASE_JMX_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.password.file=$HBASE_HOME/conf/jmxremote.passwd"
HBASE_JMX_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.access.file=$HBASE_HOME/conf/jmxremote.access"

export HBASE_MASTER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.port=10101"
export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxremote.port=10102"

再次从 Ambari 重新启动 HBase 后,更改会自动清除。我也使用 root 用户和 HBase 用户编辑了文件。但仍然没有启用 JMX。但是 HBase 正在启动。

您需要从 Ambari 编辑 hbase-env。在 Ambari 之外所做的任何文件更改都将被覆盖

export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=20015"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=20016"