Nodetool or JMX connections failing on remote nodes

Nodetool commands on Linux can be run locally but not on other nodes in the cluster.

cassandra-env.sh

The location of the cassandra-env.sh file depends on the type of installation:
Package installations /etc/dse/cassandra/cassandra-env.sh
Tarball installations installation_location/resources/cassandra/conf/cassandra-env.sh

The DataStax Enterprise Help Center also provides troubleshooting information.

Nodetool commands can be run locally but not on other nodes in the cluster.

If you can run nodetool commands locally but not on other nodes in the ring, it might be common JMX connection problem. Add an entry like the following in cassandra-env.sh on each node:

JVM_OPTS = "$JVM_OPTS -Djava.rmi.server.hostname=public name"

The default settings start up JMX only on the local node. In cassandra-env.sh or cassandra-env.ps1, add JMX authentication to contact remote nodes. See Jmx Security for details.

If you still cannot run nodetool commands remotely after making this configuration change, do a full evaluation of your firewall and network security. The nodetool utility communicates through JMX on port 7199.