Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 647ED200B79 for ; Tue, 23 Aug 2016 22:59:03 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 406F4160AD7; Tue, 23 Aug 2016 20:58:48 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id E5F34160AD8 for ; Tue, 23 Aug 2016 22:58:45 +0200 (CEST) Received: (qmail 27860 invoked by uid 500); 23 Aug 2016 20:58:35 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 27674 invoked by uid 99); 23 Aug 2016 20:58:35 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Aug 2016 20:58:35 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 5038E1804C1 for ; Tue, 23 Aug 2016 20:58:34 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.426 X-Spam-Level: X-Spam-Status: No, score=-0.426 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id Dj8Ws1Z-F5MA for ; Tue, 23 Aug 2016 20:58:13 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTP id 5B95D5FABF for ; Tue, 23 Aug 2016 20:58:13 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 5B820E0F9E for ; Tue, 23 Aug 2016 20:58:12 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 3BC3B3A2A49 for ; Tue, 23 Aug 2016 20:58:11 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r1757435 [3/30] - in /cassandra/site/publish/doc: 3.10/ 3.10/architecture/ 3.10/configuration/ 3.10/cql/ 3.10/data_modeling/ 3.10/development/ 3.10/faq/ 3.10/getting_started/ 3.10/operating/ 3.10/tools/ 3.10/troubleshooting/ latest/ latest/... Date: Tue, 23 Aug 2016 20:58:09 -0000 To: commits@cassandra.apache.org From: tylerhobbs@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20160823205811.3BC3B3A2A49@svn01-us-west.apache.org> archived-at: Tue, 23 Aug 2016 20:59:03 -0000 Added: cassandra/site/publish/doc/3.10/configuration/cassandra_config_file.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.10/configuration/cassandra_config_file.html?rev=1757435&view=auto ============================================================================== --- cassandra/site/publish/doc/3.10/configuration/cassandra_config_file.html (added) +++ cassandra/site/publish/doc/3.10/configuration/cassandra_config_file.html Tue Aug 23 20:58:08 2016 @@ -0,0 +1,1867 @@ + + + + + + + + + + + + + + + + Documentation + + + + + + + + + + + + + + +
+ + + + +
+ +
+
+
+
+ +
+
+
+
+
+ +
+

Cassandra Configuration File¶

+
+

cluster_name¶

+

The name of the cluster. This is mainly used to prevent machines in +one logical cluster from joining another.

+

Default Value: ‘Test Cluster’

+
+
+

num_tokens¶

+

This defines the number of tokens randomly assigned to this node on the ring +The more tokens, relative to other nodes, the larger the proportion of data +that this node will store. You probably want all nodes to have the same number +of tokens assuming they have equal hardware capability.

+

If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility, +and will use the initial_token as described below.

+

Specifying initial_token will override this setting on the node’s initial start, +on subsequent starts, this setting will apply even if initial token is set.

+

If you already have a cluster with 1 token per node, and wish to migrate to +multiple tokens per node, see http://wiki.apache.org/cassandra/Operations

+

Default Value: 256

+
+
+

allocate_tokens_for_keyspace¶

+

This option is commented out by default.

+

Triggers automatic allocation of num_tokens tokens for this node. The allocation +algorithm attempts to choose tokens in a way that optimizes replicated load over +the nodes in the datacenter for the replication strategy used by the specified +keyspace.

+

The load assigned to each node will be close to proportional to its number of +vnodes.

+

Only supported with the Murmur3Partitioner.

+

Default Value: KEYSPACE

+
+
+

initial_token¶

+

This option is commented out by default.

+

initial_token allows you to specify tokens manually. While you can use it with +vnodes (num_tokens > 1, above) – in which case you should provide a +comma-separated list – it’s primarily used when adding nodes to legacy clusters +that do not have vnodes enabled.

+
+
+

hinted_handoff_enabled¶

+

See http://wiki.apache.org/cassandra/HintedHandoff +May either be “true” or “false” to enable globally

+

Default Value: true

+
+
+

hinted_handoff_disabled_datacenters¶

+

This option is commented out by default.

+

When hinted_handoff_enabled is true, a black list of data centers that will not +perform hinted handoff

+

Default Value (complex option):

+
#    - DC1
+#    - DC2
+
+
+
+
+

max_hint_window_in_ms¶

+

this defines the maximum amount of time a dead host will have hints +generated. After it has been dead this long, new hints for it will not be +created until it has been seen alive and gone down again.

+

Default Value: 10800000 # 3 hours

+
+
+

hinted_handoff_throttle_in_kb¶

+

Maximum throttle in KBs per second, per delivery thread. This will be +reduced proportionally to the number of nodes in the cluster. (If there +are two nodes in the cluster, each delivery thread will use the maximum +rate; if there are three, each will throttle to half of the maximum, +since we expect two nodes to be delivering hints simultaneously.)

+

Default Value: 1024

+
+
+

max_hints_delivery_threads¶

+

Number of threads with which to deliver hints; +Consider increasing this number when you have multi-dc deployments, since +cross-dc handoff tends to be slower

+

Default Value: 2

+
+
+

hints_directory¶

+

This option is commented out by default.

+

Directory where Cassandra should store hints. +If not set, the default directory is $CASSANDRA_HOME/data/hints.

+

Default Value: /var/lib/cassandra/hints

+
+
+

hints_flush_period_in_ms¶

+

How often hints should be flushed from the internal buffers to disk. +Will not trigger fsync.

+

Default Value: 10000

+
+
+

max_hints_file_size_in_mb¶

+

Maximum size for a single hints file, in megabytes.

+

Default Value: 128

+
+
+

hints_compression¶

+

This option is commented out by default.

+

Compression to apply to the hint files. If omitted, hints files +will be written uncompressed. LZ4, Snappy, and Deflate compressors +are supported.

+

Default Value (complex option):

+
#   - class_name: LZ4Compressor
+#     parameters:
+#         -
+
+
+
+
+

batchlog_replay_throttle_in_kb¶

+

Maximum throttle in KBs per second, total. This will be +reduced proportionally to the number of nodes in the cluster.

+

Default Value: 1024

+
+
+

authenticator¶

+

Authentication backend, implementing IAuthenticator; used to identify users +Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator, +PasswordAuthenticator}.

+
    +
  • AllowAllAuthenticator performs no checks - set it to disable authentication.
  • +
  • PasswordAuthenticator relies on username/password pairs to authenticate +users. It keeps usernames and hashed passwords in system_auth.credentials table. +Please increase system_auth keyspace replication factor if you use this authenticator. +If using PasswordAuthenticator, CassandraRoleManager must also be used (see below)
  • +
+

Default Value: AllowAllAuthenticator

+
+
+

authorizer¶

+

Authorization backend, implementing IAuthorizer; used to limit access/provide permissions +Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer, +CassandraAuthorizer}.

+
    +
  • AllowAllAuthorizer allows any action to any user - set it to disable authorization.
  • +
  • CassandraAuthorizer stores permissions in system_auth.permissions table. Please +increase system_auth keyspace replication factor if you use this authorizer.
  • +
+

Default Value: AllowAllAuthorizer

+
+
+

role_manager¶

+

Part of the Authentication & Authorization backend, implementing IRoleManager; used +to maintain grants and memberships between roles. +Out of the box, Cassandra provides org.apache.cassandra.auth.CassandraRoleManager, +which stores role information in the system_auth keyspace. Most functions of the +IRoleManager require an authenticated login, so unless the configured IAuthenticator +actually implements authentication, most of this functionality will be unavailable.

+
    +
  • CassandraRoleManager stores role data in the system_auth keyspace. Please +increase system_auth keyspace replication factor if you use this role manager.
  • +
+

Default Value: CassandraRoleManager

+
+
+

roles_validity_in_ms¶

+

Validity period for roles cache (fetching granted roles can be an expensive +operation depending on the role manager, CassandraRoleManager is one example) +Granted roles are cached for authenticated sessions in AuthenticatedUser and +after the period specified here, become eligible for (async) reload. +Defaults to 2000, set to 0 to disable caching entirely. +Will be disabled automatically for AllowAllAuthenticator.

+

Default Value: 2000

+
+
+

roles_update_interval_in_ms¶

+

This option is commented out by default.

+

Refresh interval for roles cache (if enabled). +After this interval, cache entries become eligible for refresh. Upon next +access, an async reload is scheduled and the old value returned until it +completes. If roles_validity_in_ms is non-zero, then this must be +also. +Defaults to the same value as roles_validity_in_ms.

+

Default Value: 2000

+
+
+

permissions_validity_in_ms¶

+

Validity period for permissions cache (fetching permissions can be an +expensive operation depending on the authorizer, CassandraAuthorizer is +one example). Defaults to 2000, set to 0 to disable. +Will be disabled automatically for AllowAllAuthorizer.

+

Default Value: 2000

+
+
+

permissions_update_interval_in_ms¶

+

This option is commented out by default.

+

Refresh interval for permissions cache (if enabled). +After this interval, cache entries become eligible for refresh. Upon next +access, an async reload is scheduled and the old value returned until it +completes. If permissions_validity_in_ms is non-zero, then this must be +also. +Defaults to the same value as permissions_validity_in_ms.

+

Default Value: 2000

+
+
+

credentials_validity_in_ms¶

+

Validity period for credentials cache. This cache is tightly coupled to +the provided PasswordAuthenticator implementation of IAuthenticator. If +another IAuthenticator implementation is configured, this cache will not +be automatically used and so the following settings will have no effect. +Please note, credentials are cached in their encrypted form, so while +activating this cache may reduce the number of queries made to the +underlying table, it may not bring a significant reduction in the +latency of individual authentication attempts. +Defaults to 2000, set to 0 to disable credentials caching.

+

Default Value: 2000

+
+
+

credentials_update_interval_in_ms¶

+

This option is commented out by default.

+

Refresh interval for credentials cache (if enabled). +After this interval, cache entries become eligible for refresh. Upon next +access, an async reload is scheduled and the old value returned until it +completes. If credentials_validity_in_ms is non-zero, then this must be +also. +Defaults to the same value as credentials_validity_in_ms.

+

Default Value: 2000

+
+
+

partitioner¶

+

The partitioner is responsible for distributing groups of rows (by +partition key) across nodes in the cluster. You should leave this +alone for new clusters. The partitioner can NOT be changed without +reloading all data, so when upgrading you should set this to the +same partitioner you were already using.

+

Besides Murmur3Partitioner, partitioners included for backwards +compatibility include RandomPartitioner, ByteOrderedPartitioner, and +OrderPreservingPartitioner.

+

Default Value: org.apache.cassandra.dht.Murmur3Partitioner

+
+
+

data_file_directories¶

+

This option is commented out by default.

+

Directories where Cassandra should store data on disk. Cassandra +will spread data evenly across them, subject to the granularity of +the configured compaction strategy. +If not set, the default directory is $CASSANDRA_HOME/data/data.

+

Default Value (complex option):

+
#     - /var/lib/cassandra/data
+
+
+
+
+

commitlog_directory¶

+

This option is commented out by default. +commit log. when running on magnetic HDD, this should be a +separate spindle than the data directories. +If not set, the default directory is $CASSANDRA_HOME/data/commitlog.

+

Default Value: /var/lib/cassandra/commitlog

+
+
+

cdc_enabled¶

+

Enable / disable CDC functionality on a per-node basis. This modifies the logic used +for write path allocation rejection (standard: never reject. cdc: reject Mutation +containing a CDC-enabled table if at space limit in cdc_raw_directory).

+

Default Value: false

+
+
+

cdc_raw_directory¶

+

This option is commented out by default.

+

CommitLogSegments are moved to this directory on flush if cdc_enabled: true and the +segment contains mutations for a CDC-enabled table. This should be placed on a +separate spindle than the data directories. If not set, the default directory is +$CASSANDRA_HOME/data/cdc_raw.

+

Default Value: /var/lib/cassandra/cdc_raw

+
+
+

disk_failure_policy¶

+

Policy for data disk failures:

+
+
die
+
shut down gossip and client transports and kill the JVM for any fs errors or +single-sstable errors, so the node can be replaced.
+
stop_paranoid
+
shut down gossip and client transports even for single-sstable errors, +kill the JVM for errors during startup.
+
stop
+
shut down gossip and client transports, leaving the node effectively dead, but +can still be inspected via JMX, kill the JVM for errors during startup.
+
best_effort
+
stop using the failed disk and respond to requests based on +remaining available sstables. This means you WILL see obsolete +data at CL.ONE!
+
ignore
+
ignore fatal errors and let requests fail, as in pre-1.2 Cassandra
+
+

Default Value: stop

+
+
+

commit_failure_policy¶

+

Policy for commit disk failures:

+
+
die
+
shut down gossip and Thrift and kill the JVM, so the node can be replaced.
+
stop
+
shut down gossip and Thrift, leaving the node effectively dead, but +can still be inspected via JMX.
+
stop_commit
+
shutdown the commit log, letting writes collect but +continuing to service reads, as in pre-2.0.5 Cassandra
+
ignore
+
ignore fatal errors and let the batches fail
+
+

Default Value: stop

+
+
+

prepared_statements_cache_size_mb¶

+

Maximum size of the native protocol prepared statement cache

+

Valid values are either “auto” (omitting the value) or a value greater 0.

+

Note that specifying a too large value will result in long running GCs and possbily +out-of-memory errors. Keep the value at a small fraction of the heap.

+

If you constantly see “prepared statements discarded in the last minute because +cache limit reached” messages, the first step is to investigate the root cause +of these messages and check whether prepared statements are used correctly - +i.e. use bind markers for variable parts.

+

Do only change the default value, if you really have more prepared statements than +fit in the cache. In most cases it is not neccessary to change this value. +Constantly re-preparing statements is a performance penalty.

+

Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater

+
+
+

thrift_prepared_statements_cache_size_mb¶

+

Maximum size of the Thrift prepared statement cache

+

If you do not use Thrift at all, it is safe to leave this value at “auto”.

+

See description of ‘prepared_statements_cache_size_mb’ above for more information.

+

Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater

+
+
+

key_cache_size_in_mb¶

+

Maximum size of the key cache in memory.

+

Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the +minimum, sometimes more. The key cache is fairly tiny for the amount of +time it saves, so it’s worthwhile to use it at large numbers. +The row cache saves even more time, but must contain the entire row, +so it is extremely space-intensive. It’s best to only use the +row cache if you have hot rows or static rows.

+

NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.

+

Default value is empty to make it “auto” (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache.

+
+
+

key_cache_save_period¶

+

Duration in seconds after which Cassandra should +save the key cache. Caches are saved to saved_caches_directory as +specified in this configuration file.

+

Saved caches greatly improve cold-start speeds, and is relatively cheap in +terms of I/O for the key cache. Row cache saving is much more expensive and +has limited use.

+

Default is 14400 or 4 hours.

+

Default Value: 14400

+
+
+

key_cache_keys_to_save¶

+

This option is commented out by default.

+

Number of keys from the key cache to save +Disabled by default, meaning all keys are going to be saved

+

Default Value: 100

+
+
+

row_cache_class_name¶

+

This option is commented out by default.

+

Row cache implementation class name. Available implementations:

+
+
org.apache.cassandra.cache.OHCProvider
+
Fully off-heap row cache implementation (default).
+
org.apache.cassandra.cache.SerializingCacheProvider
+
This is the row cache implementation availabile +in previous releases of Cassandra.
+
+

Default Value: org.apache.cassandra.cache.OHCProvider

+
+
+

row_cache_size_in_mb¶

+

Maximum size of the row cache in memory. +Please note that OHC cache implementation requires some additional off-heap memory to manage +the map structures and some in-flight memory during operations before/after cache entries can be +accounted against the cache capacity. This overhead is usually small compared to the whole capacity. +Do not specify more memory that the system can afford in the worst usual situation and leave some +headroom for OS block level cache. Do never allow your system to swap.

+

Default value is 0, to disable row caching.

+

Default Value: 0

+
+
+

row_cache_save_period¶

+

Duration in seconds after which Cassandra should save the row cache. +Caches are saved to saved_caches_directory as specified in this configuration file.

+

Saved caches greatly improve cold-start speeds, and is relatively cheap in +terms of I/O for the key cache. Row cache saving is much more expensive and +has limited use.

+

Default is 0 to disable saving the row cache.

+

Default Value: 0

+
+
+

row_cache_keys_to_save¶

+

This option is commented out by default.

+

Number of keys from the row cache to save. +Specify 0 (which is the default), meaning all keys are going to be saved

+

Default Value: 100

+
+
+

counter_cache_size_in_mb¶

+

Maximum size of the counter cache in memory.

+

Counter cache helps to reduce counter locks’ contention for hot counter cells. +In case of RF = 1 a counter cache hit will cause Cassandra to skip the read before +write entirely. With RF > 1 a counter cache hit will still help to reduce the duration +of the lock hold, helping with hot counter cell updates, but will not allow skipping +the read entirely. Only the local (clock, count) tuple of a counter cell is kept +in memory, not the whole counter, so it’s relatively cheap.

+

NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.

+

Default value is empty to make it “auto” (min(2.5% of Heap (in MB), 50MB)). Set to 0 to disable counter cache. +NOTE: if you perform counter deletes and rely on low gcgs, you should disable the counter cache.

+
+
+

counter_cache_save_period¶

+

Duration in seconds after which Cassandra should +save the counter cache (keys only). Caches are saved to saved_caches_directory as +specified in this configuration file.

+

Default is 7200 or 2 hours.

+

Default Value: 7200

+
+
+

counter_cache_keys_to_save¶

+

This option is commented out by default.

+

Number of keys from the counter cache to save +Disabled by default, meaning all keys are going to be saved

+

Default Value: 100

+
+
+

saved_caches_directory¶

+

This option is commented out by default.

+

saved caches +If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.

+

Default Value: /var/lib/cassandra/saved_caches

+
+
+

commitlog_sync¶

+

This option is commented out by default.

+

commitlog_sync may be either “periodic” or “batch.”

+

When in batch mode, Cassandra won’t ack writes until the commit log +has been fsynced to disk. It will wait +commitlog_sync_batch_window_in_ms milliseconds between fsyncs. +This window should be kept short because the writer threads will +be unable to do extra work while waiting. (You may need to increase +concurrent_writes for the same reason.)

+

Default Value: batch

+
+
+

commitlog_sync_batch_window_in_ms¶

+

This option is commented out by default.

+

Default Value: 2

+
+
+

commitlog_sync¶

+

the other option is “periodic” where writes may be acked immediately +and the CommitLog is simply synced every commitlog_sync_period_in_ms +milliseconds.

+

Default Value: periodic

+
+
+

commitlog_sync_period_in_ms¶

+

Default Value: 10000

+
+
+

commitlog_segment_size_in_mb¶

+

The size of the individual commitlog file segments. A commitlog +segment may be archived, deleted, or recycled once all the data +in it (potentially from each columnfamily in the system) has been +flushed to sstables.

+

The default size is 32, which is almost always fine, but if you are +archiving commitlog segments (see commitlog_archiving.properties), +then you probably want a finer granularity of archiving; 8 or 16 MB +is reasonable. +Max mutation size is also configurable via max_mutation_size_in_kb setting in +cassandra.yaml. The default is half the size commitlog_segment_size_in_mb * 1024.

+

NOTE: If max_mutation_size_in_kb is set explicitly then commitlog_segment_size_in_mb must +be set to at least twice the size of max_mutation_size_in_kb / 1024

+

Default Value: 32

+
+
+

commitlog_compression¶

+

This option is commented out by default.

+

Compression to apply to the commit log. If omitted, the commit log +will be written uncompressed. LZ4, Snappy, and Deflate compressors +are supported.

+

Default Value (complex option):

+
#   - class_name: LZ4Compressor
+#     parameters:
+#         -
+
+
+
+
+

seed_provider¶

+

any class that implements the SeedProvider interface and has a +constructor that takes a Map<String, String> of parameters will do.

+

Default Value (complex option):

+
# Addresses of hosts that are deemed contact points.
+# Cassandra nodes use this list of hosts to find each other and learn
+# the topology of the ring.  You must change this if you are running
+# multiple nodes!
+- class_name: org.apache.cassandra.locator.SimpleSeedProvider
+  parameters:
+      # seeds is actually a comma-delimited list of addresses.
+      # Ex: "<ip1>,<ip2>,<ip3>"
+      - seeds: "127.0.0.1"
+
+
+
+
+

concurrent_reads¶

+

For workloads with more data than can fit in memory, Cassandra’s +bottleneck will be reads that need to fetch data from +disk. “concurrent_reads” should be set to (16 * number_of_drives) in +order to allow the operations to enqueue low enough in the stack +that the OS and drives can reorder them. Same applies to +“concurrent_counter_writes”, since counter writes read the current +values before incrementing and writing them back.

+

On the other hand, since writes are almost never IO bound, the ideal +number of “concurrent_writes” is dependent on the number of cores in +your system; (8 * number_of_cores) is a good rule of thumb.

+

Default Value: 32

+
+
+

concurrent_writes¶

+

Default Value: 32

+
+
+

concurrent_counter_writes¶

+

Default Value: 32

+
+
+

concurrent_materialized_view_writes¶

+

For materialized view writes, as there is a read involved, so this should +be limited by the less of concurrent reads or concurrent writes.

+

Default Value: 32

+
+
+

file_cache_size_in_mb¶

+

This option is commented out by default.

+

Maximum memory to use for sstable chunk cache and buffer pooling. +32MB of this are reserved for pooling buffers, the rest is used as an +cache that holds uncompressed sstable chunks. +Defaults to the smaller of 1/4 of heap or 512MB. This pool is allocated off-heap, +so is in addition to the memory allocated for heap. The cache also has on-heap +overhead which is roughly 128 bytes per chunk (i.e. 0.2% of the reserved size +if the default 64k chunk size is used). +Memory is only allocated when needed.

+

Default Value: 512

+
+
+

buffer_pool_use_heap_if_exhausted¶

+

This option is commented out by default.

+

Flag indicating whether to allocate on or off heap when the sstable buffer +pool is exhausted, that is when it has exceeded the maximum memory +file_cache_size_in_mb, beyond which it will not cache buffers but allocate on request.

+

Default Value: true

+
+
+

disk_optimization_strategy¶

+

This option is commented out by default.

+

The strategy for optimizing disk read +Possible values are: +ssd (for solid state disks, the default) +spinning (for spinning disks)

+

Default Value: ssd

+
+
+

memtable_heap_space_in_mb¶

+

This option is commented out by default.

+

Total permitted memory to use for memtables. Cassandra will stop +accepting writes when the limit is exceeded until a flush completes, +and will trigger a flush based on memtable_cleanup_threshold +If omitted, Cassandra will set both to 1/4 the size of the heap.

+

Default Value: 2048

+
+
+

memtable_offheap_space_in_mb¶

+

This option is commented out by default.

+

Default Value: 2048

+
+
+

memtable_cleanup_threshold¶

+

This option is commented out by default.

+

memtable_cleanup_threshold is deprecated. The default calculation +is the only reasonable choice. See the comments on memtable_flush_writers +for more information.

+

Ratio of occupied non-flushing memtable size to total permitted size +that will trigger a flush of the largest memtable. Larger mct will +mean larger flushes and hence less compaction, but also less concurrent +flush activity which can make it difficult to keep your disks fed +under heavy write load.

+

memtable_cleanup_threshold defaults to 1 / (memtable_flush_writers + 1)

+

Default Value: 0.11

+
+
+

memtable_allocation_type¶

+

Specify the way Cassandra allocates and manages memtable memory. +Options are:

+
+
heap_buffers
+
on heap nio buffers
+
offheap_buffers
+
off heap (direct) nio buffers
+
offheap_objects
+
off heap objects
+
+

Default Value: heap_buffers

+
+
+

commitlog_total_space_in_mb¶

+

This option is commented out by default.

+

Total space to use for commit logs on disk.

+

If space gets above this value, Cassandra will flush every dirty CF +in the oldest segment and remove it. So a small total commitlog space +will tend to cause more flush activity on less-active columnfamilies.

+

The default value is the smaller of 8192, and 1/4 of the total space +of the commitlog volume.

+

Default Value: 8192

+
+
+

memtable_flush_writers¶

+

This option is commented out by default.

+

This sets the number of memtable flush writer threads per disk +as well as the total number of memtables that can be flushed concurrently. +These are generally a combination of compute and IO bound.

+

Memtable flushing is more CPU efficient than memtable ingest and a single thread +can keep up with the ingest rate of a whole server on a single fast disk +until it temporarily becomes IO bound under contention typically with compaction. +At that point you need multiple flush threads. At some point in the future +it may become CPU bound all the time.

+

You can tell if flushing is falling behind using the MemtablePool.BlockedOnAllocation +metric which should be 0, but will be non-zero if threads are blocked waiting on flushing +to free memory.

+

memtable_flush_writers defaults to two for a single data directory. +This means that two memtables can be flushed concurrently to the single data directory. +If you have multiple data directories the default is one memtable flushing at a time +but the flush will use a thread per data directory so you will get two or more writers.

+

Two is generally enough to flush on a fast disk [array] mounted as a single data directory. +Adding more flush writers will result in smaller more frequent flushes that introduce more +compaction overhead.

+

There is a direct tradeoff between number of memtables that can be flushed concurrently +and flush size and frequency. More is not better you just need enough flush writers +to never stall waiting for flushing to free memory.

+

Default Value: 2

+
+
+

cdc_total_space_in_mb¶

+

This option is commented out by default.

+

Total space to use for change-data-capture logs on disk.

+

If space gets above this value, Cassandra will throw WriteTimeoutException +on Mutations including tables with CDC enabled. A CDCCompactor is responsible +for parsing the raw CDC logs and deleting them when parsing is completed.

+

The default value is the min of 4096 mb and 1/8th of the total space +of the drive where cdc_raw_directory resides.

+

Default Value: 4096

+
+
+

cdc_free_space_check_interval_ms¶

+

This option is commented out by default.

+

When we hit our cdc_raw limit and the CDCCompactor is either running behind +or experiencing backpressure, we check at the following interval to see if any +new space for cdc-tracked tables has been made available. Default to 250ms

+

Default Value: 250

+
+
+

index_summary_capacity_in_mb¶

+

A fixed memory pool size in MB for for SSTable index summaries. If left +empty, this will default to 5% of the heap size. If the memory usage of +all index summaries exceeds this limit, SSTables with low read rates will +shrink their index summaries in order to meet this limit. However, this +is a best-effort process. In extreme conditions Cassandra may need to use +more than this amount of memory.

+
+
+

index_summary_resize_interval_in_minutes¶

+

How frequently index summaries should be resampled. This is done +periodically to redistribute memory from the fixed-size pool to sstables +proportional their recent read rates. Setting to -1 will disable this +process, leaving existing index summaries at their current sampling level.

+

Default Value: 60

+
+
+

trickle_fsync¶

+

Whether to, when doing sequential writing, fsync() at intervals in +order to force the operating system to flush the dirty +buffers. Enable this to avoid sudden dirty buffer flushing from +impacting read latencies. Almost always a good idea on SSDs; not +necessarily on platters.

+

Default Value: false

+
+
+

trickle_fsync_interval_in_kb¶

+

Default Value: 10240

+
+
+

storage_port¶

+

TCP port, for commands and data +For security reasons, you should not expose this port to the internet. Firewall it if needed.

+

Default Value: 7000

+
+
+

ssl_storage_port¶

+

SSL port, for encrypted communication. Unused unless enabled in +encryption_options +For security reasons, you should not expose this port to the internet. Firewall it if needed.

+

Default Value: 7001

+
+
+

listen_address¶

+

Address or interface to bind to and tell other Cassandra nodes to connect to. +You _must_ change this if you want multiple nodes to be able to communicate!

+

Set listen_address OR listen_interface, not both.

+

Leaving it blank leaves it up to InetAddress.getLocalHost(). This +will always do the Right Thing _if_ the node is properly configured +(hostname, name resolution, etc), and the Right Thing is to use the +address associated with the hostname (it might not be).

+

Setting listen_address to 0.0.0.0 is always wrong.

+

Default Value: localhost

+
+
+

listen_interface¶

+

This option is commented out by default.

+

Set listen_address OR listen_interface, not both. Interfaces must correspond +to a single address, IP aliasing is not supported.

+

Default Value: eth0

+
+
+

listen_interface_prefer_ipv6¶

+

This option is commented out by default.

+

If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address +you can specify which should be chosen using listen_interface_prefer_ipv6. If false the first ipv4 +address will be used. If true the first ipv6 address will be used. Defaults to false preferring +ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.

+

Default Value: false

+
+
+

broadcast_address¶

+

This option is commented out by default.

+

Address to broadcast to other Cassandra nodes +Leaving this blank will set it to the same value as listen_address

+

Default Value: 1.2.3.4

+
+
+

listen_on_broadcast_address¶

+

This option is commented out by default.

+

When using multiple physical network interfaces, set this +to true to listen on broadcast_address in addition to +the listen_address, allowing nodes to communicate in both +interfaces. +Ignore this property if the network configuration automatically +routes between the public and private networks such as EC2.

+

Default Value: false

+
+
+

internode_authenticator¶

+

This option is commented out by default.

+

Internode authentication backend, implementing IInternodeAuthenticator; +used to allow/disallow connections from peer nodes.

+

Default Value: org.apache.cassandra.auth.AllowAllInternodeAuthenticator

+
+
+

start_native_transport¶

+

Whether to start the native transport server. +Please note that the address on which the native transport is bound is the +same as the rpc_address. The port however is different and specified below.

+

Default Value: true

+
+
+

native_transport_port¶

+

port for the CQL native transport to listen for clients on +For security reasons, you should not expose this port to the internet. Firewall it if needed.

+

Default Value: 9042

+
+
+

native_transport_port_ssl¶

+

This option is commented out by default. +Enabling native transport encryption in client_encryption_options allows you to either use +encryption for the standard port or to use a dedicated, additional port along with the unencrypted +standard native_transport_port. +Enabling client encryption and keeping native_transport_port_ssl disabled will use encryption +for native_transport_port. Setting native_transport_port_ssl to a different value +from native_transport_port will use encryption for native_transport_port_ssl while +keeping native_transport_port unencrypted.

+

Default Value: 9142

+
+
+

native_transport_max_threads¶

+

This option is commented out by default. +The maximum threads for handling requests when the native transport is used. +This is similar to rpc_max_threads though the default differs slightly (and +there is no native_transport_min_threads, idle threads will always be stopped +after 30 seconds).

+

Default Value: 128

+
+
+

native_transport_max_frame_size_in_mb¶

+

This option is commented out by default.

+

The maximum size of allowed frame. Frame (requests) larger than this will +be rejected as invalid. The default is 256MB. If you’re changing this parameter, +you may want to adjust max_value_size_in_mb accordingly.

+

Default Value: 256

+
+
+

native_transport_max_concurrent_connections¶

[... 765 lines stripped ...]