リモート・ノードでNodetoolまたはJMXを接続できない
Linux上のnodetoolコマンドは、ローカルで実行できますが、クラスター内の他のノード上では実行できません。
cassandra-env.sh
cassandra-env.shファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cassandra-env.sh |
tarボール・インストール | installation_location/resources/cassandra/conf/cassandra-env.sh |
nodetoolコマンドをローカルで実行できますが、クラスター内の他のノード上で実行できません。
nodetoolコマンドがローカルで実行できるが、リング内の他のノードで実行できない場合は、一般的なJMX接続の問題である可能性があります。各ノードのcassandra-env.sh に以下のエントリーを追加します。
JVM_OPTS = "$JVM_OPTS -Djava.rmi.server.hostname=public name"
デフォルト設定では、ローカル・ノードでのみJMXが起動します。cassandra-env.shまたはcassandra-env.ps1に、リモート・ノードに接続するためのJMX認証を追加します。詳細については、「Jmxセキュリティ」を参照してください。
この構成を変更した後でも、nodetoolコマンドをリモートで実行できない場合は、ファイアウォールとネットワーク・セキュリティについて全体的な評価を実施してください。nodetoolユーティリティはポート7199にてJMX経由で通信します。