我想讓cassandra在外部ip上使用jmx,而不是默認使用的0.0.0.0。 我已在卡桑德拉-ENV的標誌,但它仍然啓動的0.0.0.0 inteface如何配置cassandra來偵聽真實IP地址上的jmx端口而不是0.0.0.0?
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.host=172.16.40.60"
還有什麼應該怎麼辦?
我想讓cassandra在外部ip上使用jmx,而不是默認使用的0.0.0.0。 我已在卡桑德拉-ENV的標誌,但它仍然啓動的0.0.0.0 inteface如何配置cassandra來偵聽真實IP地址上的jmx端口而不是0.0.0.0?
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.host=172.16.40.60"
還有什麼應該怎麼辦?
補充一點:
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=172.16.40.60"
這條線是從cassandra-env.sh
在apache/cassandra
,在這裏看到:cassandra-env.sh#L204
目前,您不能在卡桑德拉配置JMX聽上只是一個單一的接口。這是因爲在一般的java應用程序中很難做到這一點。如果出於安全考慮而嘗試這樣做,那麼解決方案通常是阻止除localhost之外的所有接口的jmx端口,然後使用隧道從本地節點訪問jmx。
有關添加此功能卡桑德拉見討論:
https://issues.apache.org/jira/browse/CASSANDRA-2967
而且潛在的解決方法:
https://blogs.oracle.com/jmxetc/entry/jmx_connecting_through_firewalls_using
我想這樣做不是因爲安全原因。我想在2臺PC上設置4個節點的集羣。但是在這種情況下,我無法在同一臺電腦上使用同一個JMX端口創建兩個節點。我可以配置不同的jmx端口,但是操作系統發信人會遇到問題,因爲只能爲羣集配置一個JMX端口,而不是每個實例。 – Julias 2012-07-31 12:07:55
OpsCenter代理是使用JMX的。如果需要,您可以配置opscenter代理以使用不同的端口。請參閱http://www.datastax.com/support-forums/topic/multiple-opscenter-agents#post-2641 – nickmbailey 2012-07-31 16:39:50
如果它的事項給任何人,我能夠在2.0使用此.9所以它現在看起來仍然有效 – ScottJShea 2014-08-13 02:56:06
感謝您的確認 – 2014-08-13 07:24:39