DataStax Enterprise start-up parameters 

Special parameters to start DataStax Enterprise.

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.

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 parameter to the jvm.options file as follows:
JVM_OPTS="$JVM_OPTS -D[PARAMETER]"
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 add parameters at the command line:
$ installation_location/bin/dse cassandra [PARAMETERS]
Examples:
  • Command line: $ installation_location/bin/dse cassandra -Dcassandra.load_ring_state=false
  • jvm.options: JVM_OPTS="$JVM_OPTS -Dcassandra.load_ring_state=false"

The Example section contains more examples.

Command line only options 

Option Description
-f Start DSE in foreground. The default is to start as background process.
-h Help.
-p filename Log the process ID in the named file. Useful for stopping DSE by killing its PID.
-v Print the version and exit.

Parameters 

The -D option specifies start-up parameters at the command line and in the jvm.options file.

cassandra.auto_bootstrap=false 
Sets auto_bootstrap to 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.
cassandra.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.
cassandra.boot_without_jna=true 
Configures DSE to boot without JNA. If you do not set this parameter to true, and JNA does not initialize, the node does not boot.
cassandra.config=directory  
Sets the directory location of the cassandra.yaml file. The default location depends on the type of installation.
cassandra.ignore_dc=true|false 
When set to true, ignores the datacenter name change on startup. Applies only when using DseSimpleSnitch. (Default: false)
cassandra.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.
cassandra.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.
cassandra.load_ring_state=true|false 
When set to false, clears all gossip state for the node on restart. (Default: true)
cassandra.metricsReporterConfigFile=file  
Enables pluggable metrics reporter.
cassandra.native_transport_port=port 
Sets the port on which the CQL native transport listens for clients. (Default: 9042)
cassandra.partitioner=partitioner  
Sets the partitioner. (Default: org.apache.cassandra.dht.Murmur3Partitioner)
cassandra.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.
cassandra.replace_address_first_boot=listen_address_of_dead_node or broadcast_address_of_dead_node of dead node
To replace a dead node, restart the 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. The node starts in a hibernate state, all other nodes see the new node as DOWN. The new node begins bootstrapping the data from other nodes in the cluster and does not accept any writes during this phase. After bootstrapping completes, the new node is marked as UP. If the replacement process takes longer than max_hint_window_in_ms the new node misses ongoing writes during bootstrapping, run repair to make the replaced node consistent again.
Note: The broadcast_address defaults to the listen_address except when the ring is using the Ec2MultiRegionSnitch.
cassandra.replayList=table  
Allows restoring specific tables from an archived commit log.
cassandra.ring_delay_ms=ms  
Defines the amount of time a node waits to hear from other nodes before formally joining the ring. (Default: 30000ms)
cassandra.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.
cassandra.rpc_port=port  
Sets the port for the Thrift RPC service, which is used for client connections. (Default: 9160).
cassandra.ssl_storage_port=port  
Sets the SSL port for encrypted communication. (Default: 7001)
cassandra.start_native_transport=true|false  
Enables or disables the native transport server. See start_native_transport in cassandra.yaml. (Default: true)
cassandra.start_rpc=true|false 
Enables or disables the Thrift RPC server. (Default: true)
cassandra.storage_port=port  
Sets the port for inter-node communication. (Default: 7000)
cassandra.triggers_dir=directory  
Sets the default location for the triggers JARs.
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
cassandra.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.
consistent.rangemovement=true 
Set to true, makes bootstrapping behavior effective.
dse.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).

Example

Clearing gossip state when starting a node:
  • Command line: $ installation_location/bin/dse cassandra -Dcassandra.load_ring_state=false
  • jvm.options: JVM_OPTS="$JVM_OPTS -Dcassandra.load_ring_state=false"
Starting a node without joining the ring:
  • Command line: $ installation_location/bin/dse cassandra -Dcassandra.join_ring=false
  • jvm.options: JVM_OPTS="$JVM_OPTS -Dcassandra.join_ring=false"
Replacing a dead node:
  • Command line: $ installation_location/bin/cassandra -Dcassandra.replace_address=10.91.176.160
  • jvm.options: JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=10.91.176.160"