デフォルトで使用されている 0.0.0.0 ではなく、外部 IP で cassandra から jmx へのリッセンを作成したいと考えています。cassandra-env にフラグを追加しましたが、それでも 0.0.0.0 インターフェイスで起動します
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.host=172.16.40.60"
他に何をすべきですか?
デフォルトで使用されている 0.0.0.0 ではなく、外部 IP で cassandra から jmx へのリッセンを作成したいと考えています。cassandra-env にフラグを追加しましたが、それでも 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
現在、cassandraでjmxを設定して、単一のインターフェースのみでリッスンすることはできません。これは、一般的にJavaアプリケーションで実行するのが非常に難しいためです。セキュリティ上の理由でこれを実行しようとしている場合、解決策は、ローカルホストを除くすべてのインターフェイスのjmxポートをブロックしてから、トンネルを使用してローカルノードからjmxにアクセスすることです。
この機能をcassandraに追加する方法については、以下を参照してください。
https://issues.apache.org/jira/browse/CASSANDRA-2967
そして、潜在的な回避策:
https://blogs.oracle.com/jmxetc/entry/jmx_connecting_through_firewalls_using