Configuring the protocol for connecting to Cassandra clusters¶
To streamline and improve the efficiency of communication between clients and the database, Cassandra is transitioning away from the Thrift protocol in favor of the Query Language (CQL) protocol starting with MOSK 24.1. Since MOSK 24.2, Cassandra uses the CQL protocol by default.
CQL provides a more user-friendly and SQL-like interface for interacting with the database. With the move towards CQL, the Thrift-based client drivers are no longer actively supported encouraging the users to migrate to CQL-based client drivers to take advantage of new features and improvements in Cassandra.
If your cluster is running MOSK 24.1.x, you can enable the CQL protocol proceeding with one of the options below depending on the Tungsten Fabric Operator API version in use.
During update to MOSK 24.2, switching from Thrift to CQL
is performed automatically. While it is possible to switch back to Thrift,
Mirantis does not recommend it. If you choose to do so, specify thrift
instead of cql
in the configuration examples below.
Define the cassandraDriver
parameter in the devOptions
section of
the TFOperator
custom resource:
spec:
devOptions:
cassandraDriver: cql
Define the CONFIGDB_CASSANDRA_DRIVER
variable for the tf-analytics
,
tf-config
, and tf-control
controllers in the TFOperator
custom
resource:
spec:
controllers:
tf-analytics:
alarm-gen:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: alarm-gen
api:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: api
collector:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: collector
snmp:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: snmp
topology:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: topology
tf-config:
api:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: api
devicemgr:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: devicemgr
schema:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: schema
svc-monitor:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: svc-monitor
tf-control:
control:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: control
dns:
containers:
- env:
- name: CONFIGDB_CASSANDRA_DRIVER
value: cql
name: dns