Cassandra Installation with Helm
External
Internal
Overview
This article refers to the bitnami Cassandra chart.
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-release bitnami/cassandra
Configuration
JVM Heap Parameters
Java heap parameters (-Xmx, -Xms and -Xmn) are controlled for both the main cassandra process and for nodetool process (which is used by the liveness probe, and thus, is important to work well) by three environment variables:
- JVM_OPTS
- MAX_HEAP_SIZE
- HEAP_NEWSIZE
While it is possible to set
JVM_OPTS="-Xmx=2G -Xms=2G -Xmn=1G"
if you do so, you must also keep the values of MAX_HEAP_SIZE and HEAP_NEWSIZE synchronized, otherwise clashing combinations of values may materialize for the cassandra or nodetool processes, and they may fail.
The best way to set the heap related values is to use MAX_HEAP_SIZE and HEAP_NEWSIZE.
Add the following to the configuration overlay:
extraEnvVars:
- name: MAX_HEAP_SIZE
value: '4G'
- name: HEAP_NEWSIZE
value: '1G'
The values defined here will take precedence and will override the values calculated by the startup scripts.
If MAX_HEAP_SIZE is set, cassandra startup script will automatically adjust the -Xms to the same value.