In your cassandra-env.sh set:
LOCAL_JMX=no
If you want username and password security, keep the default setting for JMX remote authenticate as true. Otherwise, set it to false:
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
Note: If set to true, enter a username and password for the JMX user in the jmxremote.password.file
. Follow the instructions here on how to secure that file. Setting jmxremote.authenticate to true also requires you to pass in the username and password when running a nodetool command, e.g. nodetool status -u cassandra -pw cassandra
Restart the server (if needed).
Connecting to the Node Using JConsole for Monitoring
Find the JConsole jar in your
JDK_HOME/bin
or
JDK_HOME/lib
directory. If you don’t have the Java JDK installed, it can be downloaded from the
Oracle Website.
Double-click the executable jar to run it (or run it from the command line). Select “Remote Process” and enter the following connection string.
service:jmx:rmi:///jndi/rmi://<target ip address>:7199/jmxrmi
Replace <target ip address> with the address of the machine you intend to manage or monitor.
Note: JConsole may try (and fail) to connect using SSL first. If it does, it will ask if it can connect over a non-encrypted connection. You should answer this prompt in the affirmative and you are good.
Congrats! You now have everything you need to monitor and manage a Cassandra node.
For help with how to monitor Cassandra using JMX and with interpreting the metrics see:
Comments