DataStax Enterprise start-up parameters

Switches to change DSE JVM settings at start up.

You can run DataStax Enterprise (DSE) with start-up parameters by adding them to the jvm.options file or at the command line when starting up a installation.
Tip: You can also add options such as maximum and minimum heap size to the jvm.options file to pass them to the Java virtual machine at start up, rather than setting them in the environment.

Usage 

Add a start-up parameter to the jvm.options file as follows:
-Dparameter_name

jvm.options

The location of the jvm.options file depends on the type of installation:

Package installations
Installer-Services installations

/etc/dse/cassandra/jvm.options

Tarball installations
Installer-No Services installations

installation_location/resources/cassandra/conf/jvm.options
When starting up Tarball or Installer-No Services installations, you can set parameters from the command line:
installation_location/bin/dse cassandra [-Dparameter_name -Dparameter_name ...]

See the Example section.

Start-up parameters 

Use the -D option before the start-up parameter name on the command line or in the jvm.options file.

-Dcassandra.auto_bootstrap=false 
false on initial set-up of the cluster. The next time you start the cluster, you do not need to change the cassandra.yaml file on each node to revert to true. default setting in the cassandra.yaml file.

Default: true.

-Dcassandra.available_processors=number_of_processors  
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.
-Dcassandra.config=directory  
Sets the directory location of the cassandra.yaml file. The default location depends on the type of installation.
-Dcassandra.consistent.rangemovement=true 
Set to true, makes bootstrapping behavior effective.
-Dcassandra.disable_auth_caches_remote_configuration=true 
Disables 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.
-Dcassandra.expiration_date_overflow_policy=POLICY 
Set the policy for TTL (time to live) timestamps that exceed the maximum value supported by the storage engine, 2038-01-19T03:14:06+00:00. The database storage engine can only encode TTL timestamps through January 19 2038 03:14:07 UTC due to the Year 2038 problem.
  • REJECT: Reject requests that contain an expiration timestamp later than 2038-01-19T03:14:06+00:00.
  • CAP: Allow requests and insert expiration timestamps later than 2038-01-19T03:14:06+00:00 as 2038-01-19T03:14:06+00:00.

Default: REJECT.

-Dcassandra.force_default_indexing_page_size=true

Disable dynamic calculation of the page size used when indexing an entire partition (during initial index build/rebuild). If set to true, the page size will be fixed to the default of 10000 rows per page.

-Dcassandra.ignore_dc=true | false 
When set to true, ignores the datacenter name change on startup. Applies only when using DseSimpleSnitch. (Default: false)
-Dcassandra.initial_token=token  
Use when DSE is not using virtual nodes (vnodes). Sets the initial partitioner token for a node the first time the node is started. (Default: disabled)
Note: Vnodes automatically select tokens.
-Dcassandra.join_ring=true | false  
When set to false, prevents the node from joining a ring on startup. (Default: true) You can add the node to the ring afterwards using nodetool join and a JMX call.
-Dcassandra.load_ring_state=true | false 
When set to false, clears all gossip state for the node on restart. (Default: true)
-Dcassandra.metricsReporterConfigFile=file  
Enables pluggable metrics reporter.
-Dcassandra.native_transport_port=port 
Sets the port on which the CQL native transport listens for clients. (Default: 9042)
-Dcassandra.native_transport_startup_delay_seconds=seconds 
Delays the startup of native transport server for the number of seconds. (Default: 0)
-Dcassandra.partitioner=partitioner  
Sets the partitioner. (Default: org.apache.cassandra.dht.Murmur3Partitioner)
-Dcassandra.partition_sstables_by_token_range=true | false 
Whether to disable JBOD SSTable partitioning by token range to multiple data_file_directories. (Default: true). Set to false only as directed by DataStax Support.
-Dcassandra.replace_address=listen_address_of_dead_node|broadcast_address_of_dead_node 
To replace a node, restart a new node in its place specifying the listen_address or broadcast_address that the new node is assuming. 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 Ec2MultiRegionSnitch.
-Dcassandra.replayList=table  
Allows restoring specific tables from an archived commit log.
-Dcassandra.ring_delay_ms=ms  
Defines the amount of time a node waits to hear from other nodes before formally joining the ring. (Default: 30000ms)
-Dcassandra.rpc_port=port  
Sets the port for the Thrift RPC service, which is used for client connections. (Default: 9160).
-Dcassandra.ssl_storage_port=port  
Sets the SSL port for encrypted communication. (Default: 7001)
-Dcassandra.start_native_transport=true | false  
Enables or disables the native transport server. See start_native_transport in cassandra.yaml. (Default: true)
-Dcassandra.start_rpc=true | false 
Enables or disables the Thrift RPC server. (Default: true)
-Dcassandra.storage_port=port  
Sets the port for inter-node communication. (Default: 7000)
-Dcassandra.triggers_dir=directory - Deprecated 
Sets the default location for the triggers JARs.
-Dcassandra.write_survey=true 
Enables 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 Testing compaction and compression.
-Ddse.search.client.timeout.secs=seconds 
Native driver search core management calls using the dsetool search-specific commands use the default request timeout of 600 seconds (10 minutes).

triggers

The location of the triggers directory depends on the type of installation:

Package installations
Installer-Services installations

/etc/dse/cassandra/triggers

Tarball installations
Installer-No Services installations

installation_location/resources/cassandra/conf/triggers
Starting a node without joining the ring:
  • Command line:
    dse cassandra -Dcassandra.join_ring=false
  • jvm.options:
    -Dcassandra.join_ring=false
Replacing a dead node:
  • Command line:
    dse cassandra -Dcassandra.replace_address=10.91.176.160
  • jvm.options:
    -Dcassandra.replace_address=10.91.176.160