Configure JMX on the server side

Use these steps to configure JMX on the server side when enabling secure client-to-node connections using SSL.

There are two files that control Java Virtual Machine (JVM) options:

  • jvm-server.options: options independent of any particular JVM

  • jvm11-server.options: options particular to JVM 11

The location of these files depends on your installation type:

  • Package installations: /etc/hcd/cassandra/

  • Tarball installations: INSTALLATION_LOCATION/resources/cassandra/conf/

To configure JMX options, do the following:

  1. If the $LOCAL_JMX setting is present, change it to no.

    "$LOCAL_JMX" = "no"
  2. Enable JMX authentication by setting -Dcom.sun.management.jmxremote.authenticate to true:

    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true
  3. Locate the cassandra-env.sh file.

    The location of this file depends on your installation type.

    • Package installations: /etc/hcd/cassandra/cassandra-env.sh

    • Tarball installations: INSTALLATION_LOCATION/resources/cassandra/conf/cassandra-env.sh

  4. Uncomment the following settings in the cassandra-env.sh file. You must specify the path to appropriate keystore and truststore, including passwords for each.

    Alternatively, you can use the jvm-server.options file as described in Setting system properties during startup.

    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=true"
    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.need.client.auth=true"
    JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true"
    JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=PATH/TO/KEYSTORE.JKS"
    JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=KEYSTORE-PASSWORD"
    JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStore=PATH/TO/TRUSTSTORE.JKS"
    JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStorePassword=TRUSTSTORE-PASSWORD"

    The minimum SSL-related options are as follows:

    • com.sun.management.jmxremote.ssl: Set to true to enable SSL for JMX.

    • com.sun.management.jmxremote.ssl.need.client.auth: Set to true to enable two-way certificate authentication.

    • com.sun.management.jmxremote.registry.ssl: Set to true to create an RMI registry protected by SSL, and configure a management agent when the JVM starts.

    Keystore and truststore options depend on your environment and SSL configuration. For more information about these options, see the other SSL documentation for HCD.

Was this helpful?

Give Feedback

How can we improve the documentation?

© Copyright IBM Corporation 2026 | Privacy policy | Terms of use Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: Contact IBM