Table of Contents

Maintaining a Cassandra cluster

If you choose not to use the recommended Storage as a Service (STaaS) setup but instead choose self-hosted storage, you are responsible for maintaining and monitoring the database used for DataMiner system storage. With a Cassandra cluster setup, this involves setting the heap space, monitoring the database, keeping the nodes repaired, and keeping the software up to date.

Setting the heap space

To ensure that your Cassandra database does not run out of memory under load, in the jvm-server.options file, configure the parameters Xmx and Xms to set the Cassandra heap space.

If the default "CMS" garbage collector is used, the heap space should ideally be between 8 and 16 GB.

For more information on how to tune the resources of Cassandra's Java Virtual Machine, refer to Tuning the Java heap.

Warning

Failing to adapt the heap space to the needs of your cluster will cause out of memory events which can affect availability of the DMS.

Monitoring your database

To ensure that your Cassandra database is running fine, we highly recommend that you create an element using the Apache Cassandra Cluster Monitor connector.

Note

This is currently not supported for AWS Keyspaces or an Azure Managed Instance for Apache Cassandra.

Keeping your nodes repaired

When nodes are down for longer periods of time or when there has been a network problem, it may happen that data is no longer in sync between nodes holding copies (in case of replication). To ensure that data is synced again, repairs need to be scheduled.

For large-scale clusters, this might be very difficult to manage as you need to avoid that repairs are running on multiple nodes at the same time for specific data. To deal with this, we recommend that you install Cassandra Reaper in sidecar mode (i.e. install the software on every node).

Important

It is absolutely essential that you perform repairs on your Cassandra nodes. Not repairing your tables might have severe consequences, as detailed in Cassandra docs - Repair. We highly recommend automating your repairs with Cassandra Reaper as outlined above.

Note

Tables using TimeWindowCompactionStrategy should be excluded from automated repairs. This applies to the following tables:

  • element_state_changes
  • spectrum_sharded
  • state_changes
  • trend_data_rt
  • trend_data_short
  • trend_data_medium
  • trend_data_long

From Reaper v1.4.0 onwards, you can disable repairs on TimeWindowCompactionStrategy tables by setting the blacklistTwcsTables tag to true in the cassandra-reaper.yaml file.

Keeping the software up to date

We recommend that you update your Cassandra software regularly.

With a replication factor greater than 1, rolling upgrades are possible, so that you can upgrade the Cassandra database without any downtime.

For more information, see Updating Cassandra.