Added: cassandra/site/src/doc/3.10/configuration/cassandra_config_file.html URL: http://svn.apache.org/viewvc/cassandra/site/src/doc/3.10/configuration/cassandra_config_file.html?rev=1757419&view=auto ============================================================================== --- cassandra/site/src/doc/3.10/configuration/cassandra_config_file.html (added) +++ cassandra/site/src/doc/3.10/configuration/cassandra_config_file.html Tue Aug 23 19:25:17 2016 @@ -0,0 +1,1723 @@ +--- +layout: docpage + +title: "Documentation" + +is_homepage: false +is_sphinx_doc: true + +doc-parent: "Configuring Cassandra" + +doc-title: "Cassandra Configuration File" +doc-header-links: ' + <link rel="top" title="Apache Cassandra Documentation v3.10" href="../index.html"/> + <link rel="up" title="Configuring Cassandra" href="index.html"/> + <link rel="next" title="Operating Cassandra" href="../operating/index.html"/> + <link rel="prev" title="Configuring Cassandra" href="index.html"/> +' +doc-search-path: "../search.html" + +extra-footer: ' +<script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT: "", + VERSION: "", + COLLAPSE_INDEX: false, + FILE_SUFFIX: ".html", + HAS_SOURCE: false, + SOURCELINK_SUFFIX: "" + }; +</script> +' + +--- +<div class="container-fluid"> + <div class="row"> + <div class="col-md-2"> + <div class="doc-navigation"> + <div class="doc-menu" role="navigation"> + <div class="navbar-header"> + <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + </div> + <div class="navbar-collapse collapse sidebar-navbar-collapse"> + <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search"> + <div class="form-group"> + <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs"> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </div> + </form> + + + + <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li> +<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li> +<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li> +<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li> +<li class="toctree-l1 current"><a class="reference internal" href="index.html">Configuring Cassandra</a><ul class="current"> +<li class="toctree-l2 current"><a class="current reference internal" href="#">Cassandra Configuration File</a><ul> +<li class="toctree-l3"><a class="reference internal" href="#cluster-name"><code class="docutils literal"><span class="pre">cluster_name</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#num-tokens"><code class="docutils literal"><span class="pre">num_tokens</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#allocate-tokens-for-keyspace"><code class="docutils literal"><span class="pre">allocate_tokens_for_keyspace</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#initial-token"><code class="docutils literal"><span class="pre">initial_token</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-enabled"><code class="docutils literal"><span class="pre">hinted_handoff_enabled</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-disabled-datacenters"><code class="docutils literal"><span class="pre">hinted_handoff_disabled_datacenters</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#max-hint-window-in-ms"><code class="docutils literal"><span class="pre">max_hint_window_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-throttle-in-kb"><code class="docutils literal"><span class="pre">hinted_handoff_throttle_in_kb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#max-hints-delivery-threads"><code class="docutils literal"><span class="pre">max_hints_delivery_threads</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#hints-directory"><code class="docutils literal"><span class="pre">hints_directory</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#hints-flush-period-in-ms"><code class="docutils literal"><span class="pre">hints_flush_period_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#max-hints-file-size-in-mb"><code class="docutils literal"><span class="pre">max_hints_file_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#hints-compression"><code class="docutils literal"><span class="pre">hints_compression</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#batchlog-replay-throttle-in-kb"><code class="docutils literal"><span class="pre">batchlog_replay_throttle_in_kb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#authenticator"><code class="docutils literal"><span class="pre">authenticator</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#authorizer"><code class="docutils literal"><span class="pre">authorizer</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#role-manager"><code class="docutils literal"><span class="pre">role_manager</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#roles-validity-in-ms"><code class="docutils literal"><span class="pre">roles_validity_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#roles-update-interval-in-ms"><code class="docutils literal"><span class="pre">roles_update_interval_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#permissions-validity-in-ms"><code class="docutils literal"><span class="pre">permissions_validity_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#permissions-update-interval-in-ms"><code class="docutils literal"><span class="pre">permissions_update_interval_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#credentials-validity-in-ms"><code class="docutils literal"><span class="pre">credentials_validity_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#credentials-update-interval-in-ms"><code class="docutils literal"><span class="pre">credentials_update_interval_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#partitioner"><code class="docutils literal"><span class="pre">partitioner</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#data-file-directories"><code class="docutils literal"><span class="pre">data_file_directories</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commitlog-directory"><code class="docutils literal"><span class="pre">commitlog_directory</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#cdc-enabled"><code class="docutils literal"><span class="pre">cdc_enabled</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#cdc-raw-directory"><code class="docutils literal"><span class="pre">cdc_raw_directory</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#disk-failure-policy"><code class="docutils literal"><span class="pre">disk_failure_policy</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commit-failure-policy"><code class="docutils literal"><span class="pre">commit_failure_policy</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#prepared-statements-cache-size-mb"><code class="docutils literal"><span class="pre">prepared_statements_cache_size_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#thrift-prepared-statements-cache-size-mb"><code class="docutils literal"><span class="pre">thrift_prepared_statements_cache_size_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#key-cache-size-in-mb"><code class="docutils literal"><span class="pre">key_cache_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#key-cache-save-period"><code class="docutils literal"><span class="pre">key_cache_save_period</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#key-cache-keys-to-save"><code class="docutils literal"><span class="pre">key_cache_keys_to_save</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#row-cache-class-name"><code class="docutils literal"><span class="pre">row_cache_class_name</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#row-cache-size-in-mb"><code class="docutils literal"><span class="pre">row_cache_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#row-cache-save-period"><code class="docutils literal"><span class="pre">row_cache_save_period</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#row-cache-keys-to-save"><code class="docutils literal"><span class="pre">row_cache_keys_to_save</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#counter-cache-size-in-mb"><code class="docutils literal"><span class="pre">counter_cache_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#counter-cache-save-period"><code class="docutils literal"><span class="pre">counter_cache_save_period</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#counter-cache-keys-to-save"><code class="docutils literal"><span class="pre">counter_cache_keys_to_save</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#saved-caches-directory"><code class="docutils literal"><span class="pre">saved_caches_directory</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync"><code class="docutils literal"><span class="pre">commitlog_sync</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync-batch-window-in-ms"><code class="docutils literal"><span class="pre">commitlog_sync_batch_window_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#id1"><code class="docutils literal"><span class="pre">commitlog_sync</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync-period-in-ms"><code class="docutils literal"><span class="pre">commitlog_sync_period_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commitlog-segment-size-in-mb"><code class="docutils literal"><span class="pre">commitlog_segment_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commitlog-compression"><code class="docutils literal"><span class="pre">commitlog_compression</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#seed-provider"><code class="docutils literal"><span class="pre">seed_provider</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#concurrent-reads"><code class="docutils literal"><span class="pre">concurrent_reads</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#concurrent-writes"><code class="docutils literal"><span class="pre">concurrent_writes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#concurrent-counter-writes"><code class="docutils literal"><span class="pre">concurrent_counter_writes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#concurrent-materialized-view-writes"><code class="docutils literal"><span class="pre">concurrent_materialized_view_writes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#file-cache-size-in-mb"><code class="docutils literal"><span class="pre">file_cache_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#buffer-pool-use-heap-if-exhausted"><code class="docutils literal"><span class="pre">buffer_pool_use_heap_if_exhausted</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#disk-optimization-strategy"><code class="docutils literal"><span class="pre">disk_optimization_strategy</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#memtable-heap-space-in-mb"><code class="docutils literal"><span class="pre">memtable_heap_space_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#memtable-offheap-space-in-mb"><code class="docutils literal"><span class="pre">memtable_offheap_space_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#memtable-cleanup-threshold"><code class="docutils literal"><span class="pre">memtable_cleanup_threshold</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#memtable-allocation-type"><code class="docutils literal"><span class="pre">memtable_allocation_type</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#commitlog-total-space-in-mb"><code class="docutils literal"><span class="pre">commitlog_total_space_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#memtable-flush-writers"><code class="docutils literal"><span class="pre">memtable_flush_writers</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#cdc-total-space-in-mb"><code class="docutils literal"><span class="pre">cdc_total_space_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#cdc-free-space-check-interval-ms"><code class="docutils literal"><span class="pre">cdc_free_space_check_interval_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#index-summary-capacity-in-mb"><code class="docutils literal"><span class="pre">index_summary_capacity_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#index-summary-resize-interval-in-minutes"><code class="docutils literal"><span class="pre">index_summary_resize_interval_in_minutes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#trickle-fsync"><code class="docutils literal"><span class="pre">trickle_fsync</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#trickle-fsync-interval-in-kb"><code class="docutils literal"><span class="pre">trickle_fsync_interval_in_kb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#storage-port"><code class="docutils literal"><span class="pre">storage_port</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#ssl-storage-port"><code class="docutils literal"><span class="pre">ssl_storage_port</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#listen-address"><code class="docutils literal"><span class="pre">listen_address</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#listen-interface"><code class="docutils literal"><span class="pre">listen_interface</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#listen-interface-prefer-ipv6"><code class="docutils literal"><span class="pre">listen_interface_prefer_ipv6</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#broadcast-address"><code class="docutils literal"><span class="pre">broadcast_address</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#listen-on-broadcast-address"><code class="docutils literal"><span class="pre">listen_on_broadcast_address</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#internode-authenticator"><code class="docutils literal"><span class="pre">internode_authenticator</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#start-native-transport"><code class="docutils literal"><span class="pre">start_native_transport</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#native-transport-port"><code class="docutils literal"><span class="pre">native_transport_port</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#native-transport-port-ssl"><code class="docutils literal"><span class="pre">native_transport_port_ssl</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-threads"><code class="docutils literal"><span class="pre">native_transport_max_threads</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-frame-size-in-mb"><code class="docutils literal"><span class="pre">native_transport_max_frame_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-concurrent-connections"><code class="docutils literal"><span class="pre">native_transport_max_concurrent_connections</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-concurrent-connections-per-ip"><code class="docutils literal"><span class="pre">native_transport_max_concurrent_connections_per_ip</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#start-rpc"><code class="docutils literal"><span class="pre">start_rpc</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-address"><code class="docutils literal"><span class="pre">rpc_address</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-interface"><code class="docutils literal"><span class="pre">rpc_interface</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-interface-prefer-ipv6"><code class="docutils literal"><span class="pre">rpc_interface_prefer_ipv6</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-port"><code class="docutils literal"><span class="pre">rpc_port</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#broadcast-rpc-address"><code class="docutils literal"><span class="pre">broadcast_rpc_address</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-keepalive"><code class="docutils literal"><span class="pre">rpc_keepalive</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-server-type"><code class="docutils literal"><span class="pre">rpc_server_type</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-min-threads"><code class="docutils literal"><span class="pre">rpc_min_threads</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-max-threads"><code class="docutils literal"><span class="pre">rpc_max_threads</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-send-buff-size-in-bytes"><code class="docutils literal"><span class="pre">rpc_send_buff_size_in_bytes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#rpc-recv-buff-size-in-bytes"><code class="docutils literal"><span class="pre">rpc_recv_buff_size_in_bytes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#internode-send-buff-size-in-bytes"><code class="docutils literal"><span class="pre">internode_send_buff_size_in_bytes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#internode-recv-buff-size-in-bytes"><code class="docutils literal"><span class="pre">internode_recv_buff_size_in_bytes</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#thrift-framed-transport-size-in-mb"><code class="docutils literal"><span class="pre">thrift_framed_transport_size_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#incremental-backups"><code class="docutils literal"><span class="pre">incremental_backups</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#snapshot-before-compaction"><code class="docutils literal"><span class="pre">snapshot_before_compaction</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#auto-snapshot"><code class="docutils literal"><span class="pre">auto_snapshot</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#column-index-size-in-kb"><code class="docutils literal"><span class="pre">column_index_size_in_kb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#column-index-cache-size-in-kb"><code class="docutils literal"><span class="pre">column_index_cache_size_in_kb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#concurrent-compactors"><code class="docutils literal"><span class="pre">concurrent_compactors</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#compaction-throughput-mb-per-sec"><code class="docutils literal"><span class="pre">compaction_throughput_mb_per_sec</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#sstable-preemptive-open-interval-in-mb"><code class="docutils literal"><span class="pre">sstable_preemptive_open_interval_in_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#stream-throughput-outbound-megabits-per-sec"><code class="docutils literal"><span class="pre">stream_throughput_outbound_megabits_per_sec</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#inter-dc-stream-throughput-outbound-megabits-per-sec"><code class="docutils literal"><span class="pre">inter_dc_stream_throughput_outbound_megabits_per_sec</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#read-request-timeout-in-ms"><code class="docutils literal"><span class="pre">read_request_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#range-request-timeout-in-ms"><code class="docutils literal"><span class="pre">range_request_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#write-request-timeout-in-ms"><code class="docutils literal"><span class="pre">write_request_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#counter-write-request-timeout-in-ms"><code class="docutils literal"><span class="pre">counter_write_request_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#cas-contention-timeout-in-ms"><code class="docutils literal"><span class="pre">cas_contention_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#truncate-request-timeout-in-ms"><code class="docutils literal"><span class="pre">truncate_request_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#request-timeout-in-ms"><code class="docutils literal"><span class="pre">request_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#slow-query-log-timeout-in-ms"><code class="docutils literal"><span class="pre">slow_query_log_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#cross-node-timeout"><code class="docutils literal"><span class="pre">cross_node_timeout</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#streaming-socket-timeout-in-ms"><code class="docutils literal"><span class="pre">streaming_socket_timeout_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#phi-convict-threshold"><code class="docutils literal"><span class="pre">phi_convict_threshold</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#endpoint-snitch"><code class="docutils literal"><span class="pre">endpoint_snitch</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-update-interval-in-ms"><code class="docutils literal"><span class="pre">dynamic_snitch_update_interval_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-reset-interval-in-ms"><code class="docutils literal"><span class="pre">dynamic_snitch_reset_interval_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-badness-threshold"><code class="docutils literal"><span class="pre">dynamic_snitch_badness_threshold</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#request-scheduler"><code class="docutils literal"><span class="pre">request_scheduler</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#request-scheduler-options"><code class="docutils literal"><span class="pre">request_scheduler_options</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#request-scheduler-id"><code class="docutils literal"><span class="pre">request_scheduler_id</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#server-encryption-options"><code class="docutils literal"><span class="pre">server_encryption_options</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#client-encryption-options"><code class="docutils literal"><span class="pre">client_encryption_options</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#internode-compression"><code class="docutils literal"><span class="pre">internode_compression</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#inter-dc-tcp-nodelay"><code class="docutils literal"><span class="pre">inter_dc_tcp_nodelay</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#tracetype-query-ttl"><code class="docutils literal"><span class="pre">tracetype_query_ttl</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#tracetype-repair-ttl"><code class="docutils literal"><span class="pre">tracetype_repair_ttl</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#gc-log-threshold-in-ms"><code class="docutils literal"><span class="pre">gc_log_threshold_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#enable-user-defined-functions"><code class="docutils literal"><span class="pre">enable_user_defined_functions</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#enable-scripted-user-defined-functions"><code class="docutils literal"><span class="pre">enable_scripted_user_defined_functions</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#windows-timer-interval"><code class="docutils literal"><span class="pre">windows_timer_interval</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#transparent-data-encryption-options"><code class="docutils literal"><span class="pre">transparent_data_encryption_options</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#tombstone-warn-threshold"><code class="docutils literal"><span class="pre">tombstone_warn_threshold</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#tombstone-failure-threshold"><code class="docutils literal"><span class="pre">tombstone_failure_threshold</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#batch-size-warn-threshold-in-kb"><code class="docutils literal"><span class="pre">batch_size_warn_threshold_in_kb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#batch-size-fail-threshold-in-kb"><code class="docutils literal"><span class="pre">batch_size_fail_threshold_in_kb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#unlogged-batch-across-partitions-warn-threshold"><code class="docutils literal"><span class="pre">unlogged_batch_across_partitions_warn_threshold</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#compaction-large-partition-warning-threshold-mb"><code class="docutils literal"><span class="pre">compaction_large_partition_warning_threshold_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#gc-warn-threshold-in-ms"><code class="docutils literal"><span class="pre">gc_warn_threshold_in_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#max-value-size-in-mb"><code class="docutils literal"><span class="pre">max_value_size_in_mb</span></code></a></li> +</ul> +</li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li> +<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li> +<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li> +<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</a></li> +<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li> +<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs and Contributing</a></li> +<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> +</ul> + + + + </div><!--/.nav-collapse --> + </div> + </div> + </div> + <div class="col-md-8"> + <div class="content doc-content"> + <div class="container"> + + <div class="section" id="cassandra-configuration-file"> +<span id="cassandra-yaml"></span><h1>Cassandra Configuration File<a class="headerlink" href="#cassandra-configuration-file" title="Permalink to this headline">¶</a></h1> +<div class="section" id="cluster-name"> +<h2><code class="docutils literal"><span class="pre">cluster_name</span></code><a class="headerlink" href="#cluster-name" title="Permalink to this headline">¶</a></h2> +<p>The name of the cluster. This is mainly used to prevent machines in +one logical cluster from joining another.</p> +<p><em>Default Value:</em> ‘Test Cluster’</p> +</div> +<div class="section" id="num-tokens"> +<h2><code class="docutils literal"><span class="pre">num_tokens</span></code><a class="headerlink" href="#num-tokens" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p>If you already have a cluster with 1 token per node, and wish to migrate to +multiple tokens per node, see <a class="reference external" href="http://wiki.apache.org/cassandra/Operations">http://wiki.apache.org/cassandra/Operations</a></p> +<p><em>Default Value:</em> 256</p> +</div> +<div class="section" id="allocate-tokens-for-keyspace"> +<h2><code class="docutils literal"><span class="pre">allocate_tokens_for_keyspace</span></code><a class="headerlink" href="#allocate-tokens-for-keyspace" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p>The load assigned to each node will be close to proportional to its number of +vnodes.</p> +<p>Only supported with the Murmur3Partitioner.</p> +<p><em>Default Value:</em> KEYSPACE</p> +</div> +<div class="section" id="initial-token"> +<h2><code class="docutils literal"><span class="pre">initial_token</span></code><a class="headerlink" href="#initial-token" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +</div> +<div class="section" id="hinted-handoff-enabled"> +<h2><code class="docutils literal"><span class="pre">hinted_handoff_enabled</span></code><a class="headerlink" href="#hinted-handoff-enabled" title="Permalink to this headline">¶</a></h2> +<p>See <a class="reference external" href="http://wiki.apache.org/cassandra/HintedHandoff">http://wiki.apache.org/cassandra/HintedHandoff</a> +May either be “true” or “false” to enable globally</p> +<p><em>Default Value:</em> true</p> +</div> +<div class="section" id="hinted-handoff-disabled-datacenters"> +<h2><code class="docutils literal"><span class="pre">hinted_handoff_disabled_datacenters</span></code><a class="headerlink" href="#hinted-handoff-disabled-datacenters" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>When hinted_handoff_enabled is true, a black list of data centers that will not +perform hinted handoff</p> +<p><em>Default Value (complex option)</em>:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># - DC1</span> +<span class="c1"># - DC2</span> +</pre></div> +</div> +</div> +<div class="section" id="max-hint-window-in-ms"> +<h2><code class="docutils literal"><span class="pre">max_hint_window_in_ms</span></code><a class="headerlink" href="#max-hint-window-in-ms" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> 10800000 # 3 hours</p> +</div> +<div class="section" id="hinted-handoff-throttle-in-kb"> +<h2><code class="docutils literal"><span class="pre">hinted_handoff_throttle_in_kb</span></code><a class="headerlink" href="#hinted-handoff-throttle-in-kb" title="Permalink to this headline">¶</a></h2> +<p>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.)</p> +<p><em>Default Value:</em> 1024</p> +</div> +<div class="section" id="max-hints-delivery-threads"> +<h2><code class="docutils literal"><span class="pre">max_hints_delivery_threads</span></code><a class="headerlink" href="#max-hints-delivery-threads" title="Permalink to this headline">¶</a></h2> +<p>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</p> +<p><em>Default Value:</em> 2</p> +</div> +<div class="section" id="hints-directory"> +<h2><code class="docutils literal"><span class="pre">hints_directory</span></code><a class="headerlink" href="#hints-directory" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Directory where Cassandra should store hints. +If not set, the default directory is $CASSANDRA_HOME/data/hints.</p> +<p><em>Default Value:</em> /var/lib/cassandra/hints</p> +</div> +<div class="section" id="hints-flush-period-in-ms"> +<h2><code class="docutils literal"><span class="pre">hints_flush_period_in_ms</span></code><a class="headerlink" href="#hints-flush-period-in-ms" title="Permalink to this headline">¶</a></h2> +<p>How often hints should be flushed from the internal buffers to disk. +Will <em>not</em> trigger fsync.</p> +<p><em>Default Value:</em> 10000</p> +</div> +<div class="section" id="max-hints-file-size-in-mb"> +<h2><code class="docutils literal"><span class="pre">max_hints_file_size_in_mb</span></code><a class="headerlink" href="#max-hints-file-size-in-mb" title="Permalink to this headline">¶</a></h2> +<p>Maximum size for a single hints file, in megabytes.</p> +<p><em>Default Value:</em> 128</p> +</div> +<div class="section" id="hints-compression"> +<h2><code class="docutils literal"><span class="pre">hints_compression</span></code><a class="headerlink" href="#hints-compression" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Compression to apply to the hint files. If omitted, hints files +will be written uncompressed. LZ4, Snappy, and Deflate compressors +are supported.</p> +<p><em>Default Value (complex option)</em>:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># - class_name: LZ4Compressor</span> +<span class="c1"># parameters:</span> +<span class="c1"># -</span> +</pre></div> +</div> +</div> +<div class="section" id="batchlog-replay-throttle-in-kb"> +<h2><code class="docutils literal"><span class="pre">batchlog_replay_throttle_in_kb</span></code><a class="headerlink" href="#batchlog-replay-throttle-in-kb" title="Permalink to this headline">¶</a></h2> +<p>Maximum throttle in KBs per second, total. This will be +reduced proportionally to the number of nodes in the cluster.</p> +<p><em>Default Value:</em> 1024</p> +</div> +<div class="section" id="authenticator"> +<h2><code class="docutils literal"><span class="pre">authenticator</span></code><a class="headerlink" href="#authenticator" title="Permalink to this headline">¶</a></h2> +<p>Authentication backend, implementing IAuthenticator; used to identify users +Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator, +PasswordAuthenticator}.</p> +<ul class="simple"> +<li>AllowAllAuthenticator performs no checks - set it to disable authentication.</li> +<li>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)</li> +</ul> +<p><em>Default Value:</em> AllowAllAuthenticator</p> +</div> +<div class="section" id="authorizer"> +<h2><code class="docutils literal"><span class="pre">authorizer</span></code><a class="headerlink" href="#authorizer" title="Permalink to this headline">¶</a></h2> +<p>Authorization backend, implementing IAuthorizer; used to limit access/provide permissions +Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer, +CassandraAuthorizer}.</p> +<ul class="simple"> +<li>AllowAllAuthorizer allows any action to any user - set it to disable authorization.</li> +<li>CassandraAuthorizer stores permissions in system_auth.permissions table. Please +increase system_auth keyspace replication factor if you use this authorizer.</li> +</ul> +<p><em>Default Value:</em> AllowAllAuthorizer</p> +</div> +<div class="section" id="role-manager"> +<h2><code class="docutils literal"><span class="pre">role_manager</span></code><a class="headerlink" href="#role-manager" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<ul class="simple"> +<li>CassandraRoleManager stores role data in the system_auth keyspace. Please +increase system_auth keyspace replication factor if you use this role manager.</li> +</ul> +<p><em>Default Value:</em> CassandraRoleManager</p> +</div> +<div class="section" id="roles-validity-in-ms"> +<h2><code class="docutils literal"><span class="pre">roles_validity_in_ms</span></code><a class="headerlink" href="#roles-validity-in-ms" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> 2000</p> +</div> +<div class="section" id="roles-update-interval-in-ms"> +<h2><code class="docutils literal"><span class="pre">roles_update_interval_in_ms</span></code><a class="headerlink" href="#roles-update-interval-in-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> 2000</p> +</div> +<div class="section" id="permissions-validity-in-ms"> +<h2><code class="docutils literal"><span class="pre">permissions_validity_in_ms</span></code><a class="headerlink" href="#permissions-validity-in-ms" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> 2000</p> +</div> +<div class="section" id="permissions-update-interval-in-ms"> +<h2><code class="docutils literal"><span class="pre">permissions_update_interval_in_ms</span></code><a class="headerlink" href="#permissions-update-interval-in-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> 2000</p> +</div> +<div class="section" id="credentials-validity-in-ms"> +<h2><code class="docutils literal"><span class="pre">credentials_validity_in_ms</span></code><a class="headerlink" href="#credentials-validity-in-ms" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> 2000</p> +</div> +<div class="section" id="credentials-update-interval-in-ms"> +<h2><code class="docutils literal"><span class="pre">credentials_update_interval_in_ms</span></code><a class="headerlink" href="#credentials-update-interval-in-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> 2000</p> +</div> +<div class="section" id="partitioner"> +<h2><code class="docutils literal"><span class="pre">partitioner</span></code><a class="headerlink" href="#partitioner" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p>Besides Murmur3Partitioner, partitioners included for backwards +compatibility include RandomPartitioner, ByteOrderedPartitioner, and +OrderPreservingPartitioner.</p> +<p><em>Default Value:</em> org.apache.cassandra.dht.Murmur3Partitioner</p> +</div> +<div class="section" id="data-file-directories"> +<h2><code class="docutils literal"><span class="pre">data_file_directories</span></code><a class="headerlink" href="#data-file-directories" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value (complex option)</em>:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># - /var/lib/cassandra/data</span> +</pre></div> +</div> +</div> +<div class="section" id="commitlog-directory"> +<h2><code class="docutils literal"><span class="pre">commitlog_directory</span></code><a class="headerlink" href="#commitlog-directory" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em> +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.</p> +<p><em>Default Value:</em> /var/lib/cassandra/commitlog</p> +</div> +<div class="section" id="cdc-enabled"> +<h2><code class="docutils literal"><span class="pre">cdc_enabled</span></code><a class="headerlink" href="#cdc-enabled" title="Permalink to this headline">¶</a></h2> +<p>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).</p> +<p><em>Default Value:</em> false</p> +</div> +<div class="section" id="cdc-raw-directory"> +<h2><code class="docutils literal"><span class="pre">cdc_raw_directory</span></code><a class="headerlink" href="#cdc-raw-directory" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> /var/lib/cassandra/cdc_raw</p> +</div> +<div class="section" id="disk-failure-policy"> +<h2><code class="docutils literal"><span class="pre">disk_failure_policy</span></code><a class="headerlink" href="#disk-failure-policy" title="Permalink to this headline">¶</a></h2> +<p>Policy for data disk failures:</p> +<dl class="docutils"> +<dt>die</dt> +<dd>shut down gossip and client transports and kill the JVM for any fs errors or +single-sstable errors, so the node can be replaced.</dd> +<dt>stop_paranoid</dt> +<dd>shut down gossip and client transports even for single-sstable errors, +kill the JVM for errors during startup.</dd> +<dt>stop</dt> +<dd>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.</dd> +<dt>best_effort</dt> +<dd>stop using the failed disk and respond to requests based on +remaining available sstables. This means you WILL see obsolete +data at CL.ONE!</dd> +<dt>ignore</dt> +<dd>ignore fatal errors and let requests fail, as in pre-1.2 Cassandra</dd> +</dl> +<p><em>Default Value:</em> stop</p> +</div> +<div class="section" id="commit-failure-policy"> +<h2><code class="docutils literal"><span class="pre">commit_failure_policy</span></code><a class="headerlink" href="#commit-failure-policy" title="Permalink to this headline">¶</a></h2> +<p>Policy for commit disk failures:</p> +<dl class="docutils"> +<dt>die</dt> +<dd>shut down gossip and Thrift and kill the JVM, so the node can be replaced.</dd> +<dt>stop</dt> +<dd>shut down gossip and Thrift, leaving the node effectively dead, but +can still be inspected via JMX.</dd> +<dt>stop_commit</dt> +<dd>shutdown the commit log, letting writes collect but +continuing to service reads, as in pre-2.0.5 Cassandra</dd> +<dt>ignore</dt> +<dd>ignore fatal errors and let the batches fail</dd> +</dl> +<p><em>Default Value:</em> stop</p> +</div> +<div class="section" id="prepared-statements-cache-size-mb"> +<h2><code class="docutils literal"><span class="pre">prepared_statements_cache_size_mb</span></code><a class="headerlink" href="#prepared-statements-cache-size-mb" title="Permalink to this headline">¶</a></h2> +<p>Maximum size of the native protocol prepared statement cache</p> +<p>Valid values are either “auto” (omitting the value) or a value greater 0.</p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p>Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater</p> +</div> +<div class="section" id="thrift-prepared-statements-cache-size-mb"> +<h2><code class="docutils literal"><span class="pre">thrift_prepared_statements_cache_size_mb</span></code><a class="headerlink" href="#thrift-prepared-statements-cache-size-mb" title="Permalink to this headline">¶</a></h2> +<p>Maximum size of the Thrift prepared statement cache</p> +<p>If you do not use Thrift at all, it is safe to leave this value at “auto”.</p> +<p>See description of ‘prepared_statements_cache_size_mb’ above for more information.</p> +<p>Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater</p> +</div> +<div class="section" id="key-cache-size-in-mb"> +<h2><code class="docutils literal"><span class="pre">key_cache_size_in_mb</span></code><a class="headerlink" href="#key-cache-size-in-mb" title="Permalink to this headline">¶</a></h2> +<p>Maximum size of the key cache in memory.</p> +<p>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.</p> +<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p> +<p>Default value is empty to make it “auto” (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache.</p> +</div> +<div class="section" id="key-cache-save-period"> +<h2><code class="docutils literal"><span class="pre">key_cache_save_period</span></code><a class="headerlink" href="#key-cache-save-period" title="Permalink to this headline">¶</a></h2> +<p>Duration in seconds after which Cassandra should +save the key cache. Caches are saved to saved_caches_directory as +specified in this configuration file.</p> +<p>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.</p> +<p>Default is 14400 or 4 hours.</p> +<p><em>Default Value:</em> 14400</p> +</div> +<div class="section" id="key-cache-keys-to-save"> +<h2><code class="docutils literal"><span class="pre">key_cache_keys_to_save</span></code><a class="headerlink" href="#key-cache-keys-to-save" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Number of keys from the key cache to save +Disabled by default, meaning all keys are going to be saved</p> +<p><em>Default Value:</em> 100</p> +</div> +<div class="section" id="row-cache-class-name"> +<h2><code class="docutils literal"><span class="pre">row_cache_class_name</span></code><a class="headerlink" href="#row-cache-class-name" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Row cache implementation class name. Available implementations:</p> +<dl class="docutils"> +<dt>org.apache.cassandra.cache.OHCProvider</dt> +<dd>Fully off-heap row cache implementation (default).</dd> +<dt>org.apache.cassandra.cache.SerializingCacheProvider</dt> +<dd>This is the row cache implementation availabile +in previous releases of Cassandra.</dd> +</dl> +<p><em>Default Value:</em> org.apache.cassandra.cache.OHCProvider</p> +</div> +<div class="section" id="row-cache-size-in-mb"> +<h2><code class="docutils literal"><span class="pre">row_cache_size_in_mb</span></code><a class="headerlink" href="#row-cache-size-in-mb" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p>Default value is 0, to disable row caching.</p> +<p><em>Default Value:</em> 0</p> +</div> +<div class="section" id="row-cache-save-period"> +<h2><code class="docutils literal"><span class="pre">row_cache_save_period</span></code><a class="headerlink" href="#row-cache-save-period" title="Permalink to this headline">¶</a></h2> +<p>Duration in seconds after which Cassandra should save the row cache. +Caches are saved to saved_caches_directory as specified in this configuration file.</p> +<p>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.</p> +<p>Default is 0 to disable saving the row cache.</p> +<p><em>Default Value:</em> 0</p> +</div> +<div class="section" id="row-cache-keys-to-save"> +<h2><code class="docutils literal"><span class="pre">row_cache_keys_to_save</span></code><a class="headerlink" href="#row-cache-keys-to-save" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Number of keys from the row cache to save. +Specify 0 (which is the default), meaning all keys are going to be saved</p> +<p><em>Default Value:</em> 100</p> +</div> +<div class="section" id="counter-cache-size-in-mb"> +<h2><code class="docutils literal"><span class="pre">counter_cache_size_in_mb</span></code><a class="headerlink" href="#counter-cache-size-in-mb" title="Permalink to this headline">¶</a></h2> +<p>Maximum size of the counter cache in memory.</p> +<p>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.</p> +<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p> +<p>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.</p> +</div> +<div class="section" id="counter-cache-save-period"> +<h2><code class="docutils literal"><span class="pre">counter_cache_save_period</span></code><a class="headerlink" href="#counter-cache-save-period" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p>Default is 7200 or 2 hours.</p> +<p><em>Default Value:</em> 7200</p> +</div> +<div class="section" id="counter-cache-keys-to-save"> +<h2><code class="docutils literal"><span class="pre">counter_cache_keys_to_save</span></code><a class="headerlink" href="#counter-cache-keys-to-save" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Number of keys from the counter cache to save +Disabled by default, meaning all keys are going to be saved</p> +<p><em>Default Value:</em> 100</p> +</div> +<div class="section" id="saved-caches-directory"> +<h2><code class="docutils literal"><span class="pre">saved_caches_directory</span></code><a class="headerlink" href="#saved-caches-directory" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>saved caches +If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.</p> +<p><em>Default Value:</em> /var/lib/cassandra/saved_caches</p> +</div> +<div class="section" id="commitlog-sync"> +<h2><code class="docutils literal"><span class="pre">commitlog_sync</span></code><a class="headerlink" href="#commitlog-sync" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>commitlog_sync may be either “periodic” or “batch.”</p> +<p>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.)</p> +<p><em>Default Value:</em> batch</p> +</div> +<div class="section" id="commitlog-sync-batch-window-in-ms"> +<h2><code class="docutils literal"><span class="pre">commitlog_sync_batch_window_in_ms</span></code><a class="headerlink" href="#commitlog-sync-batch-window-in-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p><em>Default Value:</em> 2</p> +</div> +<div class="section" id="id1"> +<h2><code class="docutils literal"><span class="pre">commitlog_sync</span></code><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2> +<p>the other option is “periodic” where writes may be acked immediately +and the CommitLog is simply synced every commitlog_sync_period_in_ms +milliseconds.</p> +<p><em>Default Value:</em> periodic</p> +</div> +<div class="section" id="commitlog-sync-period-in-ms"> +<h2><code class="docutils literal"><span class="pre">commitlog_sync_period_in_ms</span></code><a class="headerlink" href="#commitlog-sync-period-in-ms" title="Permalink to this headline">¶</a></h2> +<p><em>Default Value:</em> 10000</p> +</div> +<div class="section" id="commitlog-segment-size-in-mb"> +<h2><code class="docutils literal"><span class="pre">commitlog_segment_size_in_mb</span></code><a class="headerlink" href="#commitlog-segment-size-in-mb" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p>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.</p> +<p>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</p> +<p><em>Default Value:</em> 32</p> +</div> +<div class="section" id="commitlog-compression"> +<h2><code class="docutils literal"><span class="pre">commitlog_compression</span></code><a class="headerlink" href="#commitlog-compression" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Compression to apply to the commit log. If omitted, the commit log +will be written uncompressed. LZ4, Snappy, and Deflate compressors +are supported.</p> +<p><em>Default Value (complex option)</em>:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># - class_name: LZ4Compressor</span> +<span class="c1"># parameters:</span> +<span class="c1"># -</span> +</pre></div> +</div> +</div> +<div class="section" id="seed-provider"> +<h2><code class="docutils literal"><span class="pre">seed_provider</span></code><a class="headerlink" href="#seed-provider" title="Permalink to this headline">¶</a></h2> +<p>any class that implements the SeedProvider interface and has a +constructor that takes a Map<String, String> of parameters will do.</p> +<p><em>Default Value (complex option)</em>:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># Addresses of hosts that are deemed contact points.</span> +<span class="c1"># Cassandra nodes use this list of hosts to find each other and learn</span> +<span class="c1"># the topology of the ring. You must change this if you are running</span> +<span class="c1"># multiple nodes!</span> +<span class="o">-</span> <span class="n">class_name</span><span class="p">:</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">cassandra</span><span class="o">.</span><span class="n">locator</span><span class="o">.</span><span class="n">SimpleSeedProvider</span> + <span class="n">parameters</span><span class="p">:</span> + <span class="c1"># seeds is actually a comma-delimited list of addresses.</span> + <span class="c1"># Ex: "<ip1>,<ip2>,<ip3>"</span> + <span class="o">-</span> <span class="n">seeds</span><span class="p">:</span> <span class="s2">"127.0.0.1"</span> +</pre></div> +</div> +</div> +<div class="section" id="concurrent-reads"> +<h2><code class="docutils literal"><span class="pre">concurrent_reads</span></code><a class="headerlink" href="#concurrent-reads" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p>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.</p> +<p><em>Default Value:</em> 32</p> +</div> +<div class="section" id="concurrent-writes"> +<h2><code class="docutils literal"><span class="pre">concurrent_writes</span></code><a class="headerlink" href="#concurrent-writes" title="Permalink to this headline">¶</a></h2> +<p><em>Default Value:</em> 32</p> +</div> +<div class="section" id="concurrent-counter-writes"> +<h2><code class="docutils literal"><span class="pre">concurrent_counter_writes</span></code><a class="headerlink" href="#concurrent-counter-writes" title="Permalink to this headline">¶</a></h2> +<p><em>Default Value:</em> 32</p> +</div> +<div class="section" id="concurrent-materialized-view-writes"> +<h2><code class="docutils literal"><span class="pre">concurrent_materialized_view_writes</span></code><a class="headerlink" href="#concurrent-materialized-view-writes" title="Permalink to this headline">¶</a></h2> +<p>For materialized view writes, as there is a read involved, so this should +be limited by the less of concurrent reads or concurrent writes.</p> +<p><em>Default Value:</em> 32</p> +</div> +<div class="section" id="file-cache-size-in-mb"> +<h2><code class="docutils literal"><span class="pre">file_cache_size_in_mb</span></code><a class="headerlink" href="#file-cache-size-in-mb" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> 512</p> +</div> +<div class="section" id="buffer-pool-use-heap-if-exhausted"> +<h2><code class="docutils literal"><span class="pre">buffer_pool_use_heap_if_exhausted</span></code><a class="headerlink" href="#buffer-pool-use-heap-if-exhausted" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> true</p> +</div> +<div class="section" id="disk-optimization-strategy"> +<h2><code class="docutils literal"><span class="pre">disk_optimization_strategy</span></code><a class="headerlink" href="#disk-optimization-strategy" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>The strategy for optimizing disk read +Possible values are: +ssd (for solid state disks, the default) +spinning (for spinning disks)</p> +<p><em>Default Value:</em> ssd</p> +</div> +<div class="section" id="memtable-heap-space-in-mb"> +<h2><code class="docutils literal"><span class="pre">memtable_heap_space_in_mb</span></code><a class="headerlink" href="#memtable-heap-space-in-mb" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> 2048</p> +</div> +<div class="section" id="memtable-offheap-space-in-mb"> +<h2><code class="docutils literal"><span class="pre">memtable_offheap_space_in_mb</span></code><a class="headerlink" href="#memtable-offheap-space-in-mb" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p><em>Default Value:</em> 2048</p> +</div> +<div class="section" id="memtable-cleanup-threshold"> +<h2><code class="docutils literal"><span class="pre">memtable_cleanup_threshold</span></code><a class="headerlink" href="#memtable-cleanup-threshold" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>memtable_cleanup_threshold is deprecated. The default calculation +is the only reasonable choice. See the comments on memtable_flush_writers +for more information.</p> +<p>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.</p> +<p>memtable_cleanup_threshold defaults to 1 / (memtable_flush_writers + 1)</p> +<p><em>Default Value:</em> 0.11</p> +</div> +<div class="section" id="memtable-allocation-type"> +<h2><code class="docutils literal"><span class="pre">memtable_allocation_type</span></code><a class="headerlink" href="#memtable-allocation-type" title="Permalink to this headline">¶</a></h2> +<p>Specify the way Cassandra allocates and manages memtable memory. +Options are:</p> +<dl class="docutils"> +<dt>heap_buffers</dt> +<dd>on heap nio buffers</dd> +<dt>offheap_buffers</dt> +<dd>off heap (direct) nio buffers</dd> +<dt>offheap_objects</dt> +<dd>off heap objects</dd> +</dl> +<p><em>Default Value:</em> heap_buffers</p> +</div> +<div class="section" id="commitlog-total-space-in-mb"> +<h2><code class="docutils literal"><span class="pre">commitlog_total_space_in_mb</span></code><a class="headerlink" href="#commitlog-total-space-in-mb" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Total space to use for commit logs on disk.</p> +<p>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.</p> +<p>The default value is the smaller of 8192, and 1/4 of the total space +of the commitlog volume.</p> +<p><em>Default Value:</em> 8192</p> +</div> +<div class="section" id="memtable-flush-writers"> +<h2><code class="docutils literal"><span class="pre">memtable_flush_writers</span></code><a class="headerlink" href="#memtable-flush-writers" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p>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.</p> +<p><em>Default Value:</em> 2</p> +</div> +<div class="section" id="cdc-total-space-in-mb"> +<h2><code class="docutils literal"><span class="pre">cdc_total_space_in_mb</span></code><a class="headerlink" href="#cdc-total-space-in-mb" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Total space to use for change-data-capture logs on disk.</p> +<p>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.</p> +<p>The default value is the min of 4096 mb and 1/8th of the total space +of the drive where cdc_raw_directory resides.</p> +<p><em>Default Value:</em> 4096</p> +</div> +<div class="section" id="cdc-free-space-check-interval-ms"> +<h2><code class="docutils literal"><span class="pre">cdc_free_space_check_interval_ms</span></code><a class="headerlink" href="#cdc-free-space-check-interval-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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</p> +<p><em>Default Value:</em> 250</p> +</div> +<div class="section" id="index-summary-capacity-in-mb"> +<h2><code class="docutils literal"><span class="pre">index_summary_capacity_in_mb</span></code><a class="headerlink" href="#index-summary-capacity-in-mb" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +</div> +<div class="section" id="index-summary-resize-interval-in-minutes"> +<h2><code class="docutils literal"><span class="pre">index_summary_resize_interval_in_minutes</span></code><a class="headerlink" href="#index-summary-resize-interval-in-minutes" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> 60</p> +</div> +<div class="section" id="trickle-fsync"> +<h2><code class="docutils literal"><span class="pre">trickle_fsync</span></code><a class="headerlink" href="#trickle-fsync" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> false</p> +</div> +<div class="section" id="trickle-fsync-interval-in-kb"> +<h2><code class="docutils literal"><span class="pre">trickle_fsync_interval_in_kb</span></code><a class="headerlink" href="#trickle-fsync-interval-in-kb" title="Permalink to this headline">¶</a></h2> +<p><em>Default Value:</em> 10240</p> +</div> +<div class="section" id="storage-port"> +<h2><code class="docutils literal"><span class="pre">storage_port</span></code><a class="headerlink" href="#storage-port" title="Permalink to this headline">¶</a></h2> +<p>TCP port, for commands and data +For security reasons, you should not expose this port to the internet. Firewall it if needed.</p> +<p><em>Default Value:</em> 7000</p> +</div> +<div class="section" id="ssl-storage-port"> +<h2><code class="docutils literal"><span class="pre">ssl_storage_port</span></code><a class="headerlink" href="#ssl-storage-port" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> 7001</p> +</div> +<div class="section" id="listen-address"> +<h2><code class="docutils literal"><span class="pre">listen_address</span></code><a class="headerlink" href="#listen-address" title="Permalink to this headline">¶</a></h2> +<p>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!</p> +<p>Set listen_address OR listen_interface, not both.</p> +<p>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).</p> +<p>Setting listen_address to 0.0.0.0 is always wrong.</p> +<p><em>Default Value:</em> localhost</p> +</div> +<div class="section" id="listen-interface"> +<h2><code class="docutils literal"><span class="pre">listen_interface</span></code><a class="headerlink" href="#listen-interface" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Set listen_address OR listen_interface, not both. Interfaces must correspond +to a single address, IP aliasing is not supported.</p> +<p><em>Default Value:</em> eth0</p> +</div> +<div class="section" id="listen-interface-prefer-ipv6"> +<h2><code class="docutils literal"><span class="pre">listen_interface_prefer_ipv6</span></code><a class="headerlink" href="#listen-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> false</p> +</div> +<div class="section" id="broadcast-address"> +<h2><code class="docutils literal"><span class="pre">broadcast_address</span></code><a class="headerlink" href="#broadcast-address" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Address to broadcast to other Cassandra nodes +Leaving this blank will set it to the same value as listen_address</p> +<p><em>Default Value:</em> 1.2.3.4</p> +</div> +<div class="section" id="listen-on-broadcast-address"> +<h2><code class="docutils literal"><span class="pre">listen_on_broadcast_address</span></code><a class="headerlink" href="#listen-on-broadcast-address" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> false</p> +</div> +<div class="section" id="internode-authenticator"> +<h2><code class="docutils literal"><span class="pre">internode_authenticator</span></code><a class="headerlink" href="#internode-authenticator" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Internode authentication backend, implementing IInternodeAuthenticator; +used to allow/disallow connections from peer nodes.</p> +<p><em>Default Value:</em> org.apache.cassandra.auth.AllowAllInternodeAuthenticator</p> +</div> +<div class="section" id="start-native-transport"> +<h2><code class="docutils literal"><span class="pre">start_native_transport</span></code><a class="headerlink" href="#start-native-transport" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> true</p> +</div> +<div class="section" id="native-transport-port"> +<h2><code class="docutils literal"><span class="pre">native_transport_port</span></code><a class="headerlink" href="#native-transport-port" title="Permalink to this headline">¶</a></h2> +<p>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.</p> +<p><em>Default Value:</em> 9042</p> +</div> +<div class="section" id="native-transport-port-ssl"> +<h2><code class="docutils literal"><span class="pre">native_transport_port_ssl</span></code><a class="headerlink" href="#native-transport-port-ssl" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em> +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.</p> +<p><em>Default Value:</em> 9142</p> +</div> +<div class="section" id="native-transport-max-threads"> +<h2><code class="docutils literal"><span class="pre">native_transport_max_threads</span></code><a class="headerlink" href="#native-transport-max-threads" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em> +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).</p> +<p><em>Default Value:</em> 128</p> +</div> +<div class="section" id="native-transport-max-frame-size-in-mb"> +<h2><code class="docutils literal"><span class="pre">native_transport_max_frame_size_in_mb</span></code><a class="headerlink" href="#native-transport-max-frame-size-in-mb" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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.</p> +<p><em>Default Value:</em> 256</p> +</div> +<div class="section" id="native-transport-max-concurrent-connections"> +<h2><code class="docutils literal"><span class="pre">native_transport_max_concurrent_connections</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>The maximum number of concurrent client connections. +The default is -1, which means unlimited.</p> +<p><em>Default Value:</em> -1</p> +</div> +<div class="section" id="native-transport-max-concurrent-connections-per-ip"> +<h2><code class="docutils literal"><span class="pre">native_transport_max_concurrent_connections_per_ip</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections-per-ip" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>The maximum number of concurrent client connections per source ip. +The default is -1, which means unlimited.</p> +<p><em>Default Value:</em> -1</p> +</div> +<div class="section" id="start-rpc"> +<h2><code class="docutils literal"><span class="pre">start_rpc</span></code><a class="headerlink" href="#start-rpc" title="Permalink to this headline">¶</a></h2> +<p>Whether to start the thrift rpc server.</p> +<p><em>Default Value:</em> false</p> +</div> +<div class="section" id="rpc-address"> +<h2><code class="docutils literal"><span class="pre">rpc_address</span></code><a class="headerlink" href="#rpc-address" title="Permalink to this headline">¶</a></h2> +<p>The address or interface to bind the Thrift RPC service and native transport +server to.</p> +<p>Set rpc_address OR rpc_interface, not both.</p> +<p>Leaving rpc_address blank has the same effect as on listen_address +(i.e. it will be based on the configured hostname of the node).</p> +<p>Note that unlike listen_address, you can specify 0.0.0.0, but you must also +set broadcast_rpc_address to a value other than 0.0.0.0.</p> +<p>For security reasons, you should not expose this port to the internet. Firewall it if needed.</p> +<p><em>Default Value:</em> localhost</p> +</div> +<div class="section" id="rpc-interface"> +<h2><code class="docutils literal"><span class="pre">rpc_interface</span></code><a class="headerlink" href="#rpc-interface" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Set rpc_address OR rpc_interface, not both. Interfaces must correspond +to a single address, IP aliasing is not supported.</p> +<p><em>Default Value:</em> eth1</p> +</div> +<div class="section" id="rpc-interface-prefer-ipv6"> +<h2><code class="docutils literal"><span class="pre">rpc_interface_prefer_ipv6</span></code><a class="headerlink" href="#rpc-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>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 rpc_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.</p> +<p><em>Default Value:</em> false</p> +</div> +<div class="section" id="rpc-port"> +<h2><code class="docutils literal"><span class="pre">rpc_port</span></code><a class="headerlink" href="#rpc-port" title="Permalink to this headline">¶</a></h2> +<p>port for Thrift to listen for clients on</p> +<p><em>Default Value:</em> 9160</p> +</div>
[... 634 lines stripped ...]
