Cassandra

Тобы собрать кассандру в кластер, надо чтобы дц назывались  одинаково.

Пример кластра через оператор

apiVersion: "db.orange.com/v1alpha1"
kind: "CassandraCluster"
metadata:
  name: rook-cassandra
  labels:
    cluster: k8s.kaas
spec:
  cassandraImage: cassandra:3.11.1
  configMapName: cassandra-configmap-v2
  dataCapacity: "1300Gi"
  dataStorageClass: "vsphere-cassandra-lun103"
  imagepullpolicy: IfNotPresent  
  hardAntiAffinity: true
  deletePVC: false
  autoPilot: false
  gcStdout: true
  autoUpdateSeedList: true
  maxPodUnavailable: 1
  pod:
    tolerations:
      - key: dedicated.flant.com
        operator: Equal
        value: cassandra
        effect: NoExecute
  resources:         
    requests:
      cpu: '7'
      memory: 14Gi
    limits:
      cpu: '7'
      memory: 14Gi
  topology:
    dc:
      - name: x2
        nodesPerRacks: 3
        rack:
          - name: rack1
            labels:
              node-role.flant.com/cassandra: ""

Полезные команды

Список всех кейспейсов
cqlsh -e "SELECT * FROM system_schema.keyspaces;"

Изменить параметры кейспейса, чтобы включить репликацию или выключить
cqlsh -e "ALTER KEYSPACE delivery_dev WITH replication = {'class': 'NetworkTopologyStrategy', 'msk-x1':2, 'x2': 2};"

После изменения, надо сделать рбилд где, msk-x1 - исходный кластре
nodetool rebuild -ks delivery_dev msk-x1

Выключить и включить compaction


Посмотреть статус кластера
nodetool status

Включить кэширование а уровне кассаандры

Включить кэширование в таблицах, убедится что везде есть
ALTER TABLE test
WITH caching = {‘keys’: ‘ALL’, ‘rows_per_partition’: ‘’} ;

Сдлать другой уроверь compaction с TimeWindowCompactionStrategy на LeveledCompactionStrategy
ALTER TABLE test
WITH compaction = { ‘class’ : ‘LeveledCompactionStrategy’ };


Изменить компрессию с 64 на 4
alter table test with compression = {‘sstable_compression’: ‘LZ4Compressor’, ‘chunk_length_kb’: 4};


USE lego_prod ;
DESCRIBE TABLE columnfamily;

AND compaction = {‘class’: ‘org.apache.cassandra.db.compaction.TimeWindowCompactionStrategy’, ‘compaction_window_size’: ‘1’, ‘compaction_window_unit’: ‘HOURS’, ‘max_threshold’: ’32’, ‘min_threshold’: ‘4’}
AND compression = {‘chunk_length_in_kb’: ’64’, ‘class’: ‘org.apache.cassandra.io.compress.LZ4Compressor’}


counter_cache_size_in_mb: 64
row_cache_save_period: 360
row_cache_size_in_mb: 64
key_cache_size_in_mb: 128

Полезные ссылки

Moving Cassandra Clusters without Downtime – Part 1

10 steps to set up a multi-data center Cassandra cluster on a Kubernetes platform

Без рубрики

Related Articles

0 Comment