Skip to content
Snippets Groups Projects
cassandra.yaml 5.57 KiB
Newer Older
cassandra::base_data_directory: /srv/cassandra
cassandra::base_config_directory: /etc/cassandra
cassandra::base_log_directory: /var/log/cassandra
cassandra::max_map_count: 1048575

cassandra::version: 5.0.2
cassandra::version_checksum: '51478b18b8bce82a6b4915f31470d031306724041a4f2b684fd17635f8a5a9802594c0bbc3d0154cfa52d87a253d7868636985787aa1e3e00136259302689363'
cassandra::version_checksum_type: sha512

cassandra::listen_network: "%{lookup('internal_network')}"

cassandra::nodes:
  cassandra01.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra02.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra03.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra04.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra05.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra06.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra07.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra08.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra09.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra10.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra11.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra12.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production
  cassandra13.internal.softwareheritage.org:
    instances:
      instance1:
        cluster_name: archive_production

cassandra::clusters:
  archive_production:
    seed_provider:
      - class_name: org.apache.cassandra.locator.SimpleSeedProvider
        parameters:
          - seeds: "cassandra01.internal.softwareheritage.org:7000"

cassandra::default_instance_configuration:
  cluster_name: "%{lookup('cassandra::default_cluster_name')}"
  datacenter: "%{::subnet}"
  # rack: "%{::hostname}"
  rack: rack1
  storage_port: 7000
  jmx_port: 7199
  jmx_exporter_port: 7070
  jmx_remote: true
  jmx_user: "%{lookup('cassandra::jmx::user')}"
  jmx_password: "%{lookup('cassandra::jmx::password')}"
  heap: "%{lookup('cassandra::heap')}"
  authenticator: PasswordAuthenticator
  authorizer: CassandraAuthorizer
# cassandra::jmx::password in private data

# Reflect the base of the cassandra.yaml content
# These list is completed and/or overridden in cassandra::instance
cassandra::base_instance_configuration:
  num_tokens: 16
  allocate_tokens_for_local_replication_factor: 3
  disk_optimization_strategy: ssd
  concurrent_compactors: 4 # should be min(nb core, nb disks)
  internode_compression: dc # default dc possible all|dc|none
  concurrent_reads: 64 # 16 x number of drives
  concurrent_writes: 128 # 8 x number of cores
  concurrent_counter_writes: 48
  commitlog_sync: periodic # default periodic
  commitlog_sync_period: 10000ms # default 10000
  commitlog_total_space: 16384MiB # default 8192
  commitlog_segment_size: 256MiB # default 32 (due to oversize mutation on revision table)
  partitioner: org.apache.cassandra.dht.Murmur3Partitioner
  endpoint_snitch: GossipingPropertyFileSnitch
  user_defined_functions_enabled: true # needed by swh-storage
  compaction_throughput: 160MiB/s
  read_request_timeout: 5000ms
  range_request_timeout: 10000ms
  write_request_timeout: 2000ms
  counter_write_request_timeout: 5000ms
  cas_contention_timeout: 1000ms
  truncate_request_timeout: 60000ms
  request_timeout: 10000ms
  slow_query_log_timeout: 1000ms
  repair_session_space: 1024MiB
  paxos_variant: v2  # Activate new paxos lightweight transaction (recommended)
  paxos_state_purging: repaired
# Activate this option when free disk space is limited
# to avoid to have to compact big sstables
cassandra::disable_stcs_in_l0: true

cassandra::jvm11_options:
  # activated for G1
  - -XX:+UseG1GC
  - -XX:+ParallelRefProcEnabled
  - -XX:MaxGCPauseMillis=500
  - -XX:InitiatingHeapOccupancyPercent=70
  - -XX:ParallelGCThreads=16
  - -XX:ConcGCThreads=16
  # in the file by default
  - -Djdk.attach.allowAttachSelf=true
  - --add-exports java.base/jdk.internal.misc=ALL-UNNAMED
  - --add-exports java.base/jdk.internal.ref=ALL-UNNAMED
  - --add-exports java.base/sun.nio.ch=ALL-UNNAMED
  - --add-exports java.management.rmi/com.sun.jmx.remote.internal.rmi=ALL-UNNAMED
  - --add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED
  - --add-exports java.rmi/sun.rmi.server=ALL-UNNAMED
  - --add-exports java.sql/java.sql=ALL-UNNAMED
  - --add-opens java.base/java.lang.module=ALL-UNNAMED
  - --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
  - --add-opens java.base/jdk.internal.ref=ALL-UNNAMED
  - --add-opens java.base/jdk.internal.reflect=ALL-UNNAMED
  - --add-opens java.base/jdk.internal.math=ALL-UNNAMED
  - --add-opens java.base/jdk.internal.module=ALL-UNNAMED
  - --add-opens java.base/jdk.internal.util.jar=ALL-UNNAMED
  - --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
  - -Dio.netty.tryReflectionSetAccessible=true
# During directory_entry compaction migration
  - -Dcassandra.disable_stcs_in_l0="%{lookup('cassandra::disable_stcs_in_l0')}"