Configuration settings in the cassandra-reaper.yaml that are specific to a particular backend.
The following settings are specific to a Reaper deployment that is backed by an Apache Cassandra database. Note that Cassandra backend configuration relies on the Dropwizard-Cassandra module.
activateQueryLogger
Type: Boolean
Default: false
Records the CQL calls made to the Cassandra backend in the log output.
cassandra
Settings to configure Reaper to use Cassandra for storage of its control data. Reaper uses the Cassandra Java driver version 4.17.0 to perform operations on the cluster. An example of the configuration settings for the driver are as follows.
cassandra:
type: basic
sessionName: "test"
contactPoints:
- host: 127.0.0.1
port: 9042
sessionKeyspaceName: reaper_db
loadBalancingPolicy:
type: default
localDataCenter: dc1
retryPolicy:
type: default
schemaOptions:
agreementIntervalMilliseconds: 2000
agreementTimeoutSeconds: 10
agreementWarnOnFailure: true
requestOptionsFactory:
requestTimeout: 20s
requestDefaultIdempotence: true
authProvider:
type: plain-text
username: cassandra
password: cassandra
Definitions for some of the above sub-settings are as follows.
sessionName
Type: String
Name of the session to create
contactPoints
Type: Array
Seed nodes in the Cassandra cluster to contact, with their port each. Can be provided as a comma separated list of objects:
{"host": "host1", "port": "9042"}, {"host": "host2", "port": "9042"}
or as a list of objects:
- host: host1
port: 9042
- host: host2
port: 9042
sessionKeyspaceName
Type: String
Name of the keyspace to store the Reaper control data.
loadBalancingPolicy
Settings to configure the policies used to generate the query plan which determines the nodes to connect to when performing query operations. Further information can be found in the Cassandra Java driver Load balancing section.
type
Type: String
The policy type used to contribute to the computation of the query plan.
localDataCenter
Type: String
Specifies the name of the datacenter closest to Reaper when using the dcAwareRoundRobin
policy.
authProvider
If native protocol authentication is enabled on Cassandra, settings configure Reaper to pass credentials to Cassandra when establishing a connection.
username
Type: String
Cassandra native protocol username.
password
Type: String
Cassandra native protocol password.
requestTimeout
Type: Duration Default: 10s
The timeout for requests to the Cassandra cluster.
See here for more information.
cassandra:
type: basic
sessionName: name
sessionKeyspaceName: keyspace
requestOptionsFactory:
requestTimeout: 5s
requestConsistency: local
requestPageSize: 12
requestSerialConsistency: local
requestDefaultIdempotence: true
metricsEnabled: true
protocolVersion:
type: default
version: V5
ssl:
type: default
cipherSuites: ["a", "b"]
hostValidation: true
keyStorePassword: keyStorePassword
keyStorePath: keyStorePath
trustStorePassword: trustStorePassword
trustStorePath: trustStorePath
compression: lz4
contactPoints:
- host: localhost
port: 9041
authProvider:
type: plain-text
username: admin
password: hunter2
retryPolicy:
type: default
speculativeExecutionPolicy:
type: constant
delay: 1s
maxSpeculativeExecutions: 3
poolingOptions:
maxRequestsPerConnection: 5
maxRemoteConnections: 10
maxLocalConnections: 20
heartbeatInterval: 5s
connectionConnectTimeout: 10s
addressTranslator:
type: ec2-multi-region
timestampGenerator:
type: atomic
reconnectionPolicyFactory:
type: exponential
baseConnectionDelay: 10s
maxReconnectionDelay: 30s
loadBalancingPolicy:
type: default
localDataCenter: local
dataCenterFailoverAllowLocalConsistencyLevels: true
slowAvoidance: true
dcFailoverMaxNodesPerRemoteDc: 2
cassandraOptions: # to add options which are not supported by default. Full list can be found at https://docs.datastax.com/en/developer/java-driver/4.11/manual/core/
- type: long
name: advanced.protocol.max-frame-length
value: 12
sessionMetrics:
- continuous-cql-requests
nodeMetrics:
- bytes-sent
schema:
agreementIntervalMilliseconds: 200
agreementTimeoutSeconds: 10
agreementWarnOnFailure: true
Removed in v3.0.0
The following settings are specific to a Reaper deployment that is backed by either a H2 or Postgres database. An example of the configuration settings for a Postgres database are as follows.
postgres:
url: jdbc:postgresql://127.0.0.1/reaper
user: postgres
password:
Definitions for the above sub-settings are as follows.
h2
Settings to configure Reaper to use H2 for storage of its control data.
postgres
Settings to configure Reaper to use Postgres for storage of its control data.
driverClass
Type: String
WARNING this setting is DEPRECATED and its usage should be avoided.
Specifies the driver to use to connect to the database.
url
Type: String
Specifies the URL to connect to the database (either H2 or Postgres) on.
user
Type: String
Database username.
password
Type: String
Database password.