7

我想让 cassandra 在外部 ip 上 litsen 到 jmx,而不是默认使用的 0.0.0.0。我已经在 cassandra-env 中添加了标志,但它仍然在 0.0.0.0 接口上启动

JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.host=172.16.40.60" 

我还应该做什么?

4

2 回答 2

6

添加这个:

JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=172.16.40.60"

此行来自cassandra-env.shin apache/cassandra,请参见此处:cassandra-env.sh#L204

于 2012-07-30T06:28:24.303 回答
2

目前,您无法在 cassandra 中配置 jmx 以仅侦听单个接口。这是因为通常在 Java 应用程序中很难做到这一点。如果您出于安全原因尝试这样做,那么解决方案通常是阻止除 localhost 之外的所有接口的 jmx 端口,然后使用隧道从本地节点访问 jmx。

有关将此功能添加到 cassandra 的讨论,请参见:

https://issues.apache.org/jira/browse/CASSANDRA-2967

和一个潜在的解决方法:

https://blogs.oracle.com/jmxetc/entry/jmx_connecting_through_firewalls_using

于 2012-07-30T17:41:09.350 回答