Cassandra system properties
Change DataStax Enterprise database native Cassandra system properties at startup.
cassandra-env.sh
The location of the cassandra-env.sh file depends on the type of installation:Package installations | /etc/dse/cassandra/cassandra-env.sh |
Tarball installations | installation_location/resources/cassandra/conf/cassandra-env.sh |
jvm.options
The location of the jvm.options file depends on the type of installation:Package installations | /etc/dse/cassandra/jvm.options |
Tarball installations | installation_location/resources/cassandra/conf/jvm.options |
cassandra.yaml
The location of the cassandra.yaml file depends on the type of installation:Package installations | /etc/dse/cassandra/cassandra.yaml |
Tarball installations | installation_location/resources/cassandra/conf/cassandra.yaml |
- -Dcassandra.auto_bootstrap
- Set auto_bootstrap
to
false
during the initial set up of a node to override the default setting in the cassandra.yaml file.Default:
true
. - -Dcassandra.available_processors
- Number of processors available to DSE. In a multi-instance deployment, each
instance independently assumes that all CPU processors are available to it.
Use this setting to specify a smaller set of
processors.
Default: all_processors.
- -Dcassandra.config
- Set to the directory location of the
cassandra.yaml file.
Default: depends on the type of installation.
- -Dcassandra.consistent.rangemovement
- Set to
true
, makes bootstrapping behavior effective.Default:
false
. - -Ddse.consistent_replace
- Specify the level of consistency required during a node replacement
(
ONE
,QUORUM
, orLOCAL_QUORUM
). The default value,ONE
, may result in possibly stale data but uses less system resources. If set toQUORUM
orLOCAL_QUORUM
, the replacement node coordinates repair among a (local) quorum of replicas concurrently with replacement streaming. Repair transfers the differences to the replacement node, ensuring it is consistent with other replicas when the replacement process is finished, assuming data is inserted using eitherQUORUM
orLOCAL_QUORUM
consistency levels.Note: The value for consistent replace should match the value for application read consistency.Default:ONE
- -Ddse.consistent_replace.parallelism
- Specify how many ranges will be repaired simultaneously during a consistent replace. The higher
the parallelism, the more resources are consumed cluster-wide, which may
affect overall cluster performance. Used only in conjunction with
Dcassandra.consistent_replace
.Default:
2
- -Ddse.consistent_replace.retries
- Specify how many times a failed repair will be retried during a replace. If all retries fail,
the replace fails. Used only in conjunction with
Dcassandra.consistent_replace
.Default:
3
- -Ddse.consistent_replace.whitelist
- Specify keyspaces and tables on which to perform a consistent replace. The keyspaces and tables
can be specified as: “
ks1, ks2.cf1
”. The default is blank, in which case all keyspaces and tables are replaced. Used only in conjunction withDcassandra.consistent_replace
.Default:
blank
(not set) - -Dcassandra.disable_auth_caches_remote_configuration
- Set to true to disable authentication caches, for example the caches used
for credentials, permissions, and roles. This will mean those config options
can only be set (persistently) in cassandra.yaml and will require a restart
for new values to take
effect.
Default:
false
. - -Dcassandra.expiration_date_overflow_policy
- Set the policy (
REJECT
orCAP
) for any TTL (time to live) timestamps that exceeds the maximum value supported by the storage engine,2038-01-19T03:14:06+00:00
. The database storage engine can only encode TTL timestamps throughJanuary 19 2038 03:14:07 UTC
due to the Year 2038 problem.REJECT
: Reject requests that contain an expiration timestamp later than2038-01-19T03:14:06+00:00
.CAP
: Allow requests and insert expiration timestamps later than2038-01-19T03:14:06+00:00
as2038-01-19T03:14:06+00:00
.CAP-NOWARN
: Allow requests and insert expiration timestamps later than2038-01-19T03:14:06+00:00
as2038-01-19T03:14:06+00:00
, but do not emit a warning.
Default:
REJECT
. - -Dcassandra.force_default_indexing_page_size
- Set to
true
to disable dynamic calculation of the page size used when indexing an entire partition during initial index build or a rebuild. Fixes the page size to the default of 10000 rows per page.Default:
false
. - -Dcassandra.ignore_dc
- Set to
true
to ignore the datacenter name change on startup. Applies only when using DseSimpleSnitch.Default:
false
. - -Dcassandra.initial_token
- Use when DSE is not using virtual nodes (vnodes). Set to the initial
partitioner token for the node on the first start up.
Default: blank (not set).
Note: Vnodes automatically select tokens. - -Dcassandra.join_ring
- Set to
false
to prevent the node from joining a ring on startup.Tip: Add the node to the ring afterwards using nodetool join and a JMX call.Default:
true
. - -Dcassandra.load_ring_state
- Set to
false
to clear all gossip state for the node on restart.Default:
true
. - -Dcassandra.max_bf_memory_mb
- Caps the maximum amount of memory used by bloom filters. A bloom filter is
an off-heap structure associated with each SSTable that checks if any data for the requested row exists in the SSTable before doing any disk I/O.
Attention: DataStax recommends using the default (unlimited) for this
-Dcassandra.max_bf_memory_mb
property. Do not change this property unless directed to do so by DataStax Support. The lack of bloom filters can have negative performance consequences.Default: unlimited.
- -Dcassandra.metricsReporterConfigFile
- Enables pluggable metrics reporter and configures it from the specified
file.
Default: blank (not set).
- -Dcassandra.native_transport_port
- Set to the port number that CQL native transport listens for clients.
Default:
9042
. - -Dcassandra.native_transport_startup_delay_seconds
- Set to the number of seconds to delay the native transport server start up.
Default:
0
(no delay). - -Dcassandra.partitioner
- Set to the partitioner name.
Default:
org.apache.cassandra.dht.Murmur3Partitioner
. - -Dcassandra.partition_sstables_by_token_range
- Set to
false
to disable JBOD SSTable partitioning by token range to multiple data_file_directories.CAUTION: Advanced setting that should only be used with guidance from DataStax Support.Default:
true
. - -Dcassandra.printHeapHistogramOnOutOfMemoryError
- Set to
false
to disable a heap histogram dump on an OutOfMemoryError. - -Dcassandra.replace_address
- Set to the listen_address or the broadcast_address
when replacing a dead node with a new node. The new node must be in the same
state as before bootstrapping, without any data in its data directory.Note: The broadcast_address defaults to the listen_address except when the ring is using the Configuring Amazon EC2 multi-region snitch.
- -Dcassandra.replace_address_first_boot
- Same as -Dcassandra.replace_address but only runs the first time the
Cassandra node boots. Note: This property is preferred over -Dcassandra.replace_address since it has no effect on subsequent boots if it is not removed from jvm.options or cassandra-env.sh.
- -Dcassandra.replayList
- Allows restoring specific tables from an archived commit log.
- -Dcassandra.ring_delay_ms
- Set to the number of milliseconds the node waits to hear from other nodes
before formally joining the ring.
Default:
30000
. - -Dcassandra.ssl_storage_port
- Sets the SSL port for encrypted communication.
Default:
7001
. - -Dcassandra.start_native_transport
- Enables or disables the native transport server. See start_native_transport in
cassandra.yaml.
Default:
true
. - -Dcassandra.storage_port
- Sets the port for inter-node communication.
Default:
7000
. - -Dcassandra.write_survey
- Set to
true
to enable a tool for testing new compaction and compression strategies.write_survey
allows you to experiment with different strategies and benchmark write performance differences without affecting the production workload. See .Default:
false
.