2016-07-26 1 views
2

Nous utilisons DSE 4.8.8 avec OpsCenter 5.2.4. Tous nos OpsCenter.rollups* tables sont de plus en plus à jamais, en particulier la rollups60 un:OpsCenter rollups * les tables se développent pour toujours

Size of rollups60, 1 month

Le OpsCenter de keyspace utilise org.apache.cassandra.locator.NetworkTopologyStrategy, DC1 1, DC2 1

paramètres de table:

CREATE TABLE "OpsCenter".rollups60 (
    key text, 
    "timestamp" varint, 
    value blob, 
    PRIMARY KEY (key, "timestamp") 
) WITH COMPACT STORAGE 
    AND CLUSTERING ORDER BY ("timestamp" ASC) 
    AND bloom_filter_fp_chance = 0.01 
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' 
    AND comment = '{"info": "OpsCenter management data.", "version": [5, 2, 1]}' 
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'} 
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'} 
    AND dclocal_read_repair_chance = 0.0 
    AND default_time_to_live = 0 
    AND gc_grace_seconds = 0 
    AND max_index_interval = 2048 
    AND memtable_flush_period_in_ms = 0 
    AND min_index_interval = 128 
    AND read_repair_chance = 0.25 
    AND speculative_retry = 'NONE'; 

les entrées ont pas TTL sur les colonnes key et timestamp et un TTL de 604618 sur la colonne value.

Une idée pour résoudre ce problème? Je l'ai déjà essayé une troncature comme ici décrit: Datastax support

Répondre

0

Vous pouvez régler la 1 minute (Rollup 60 tableau) ttl via le fichier de configuration du cluster: https://docs.datastax.com/en/latest-opsc/opsc/configure/opscChangingPerformanceDataExpiration_t.html

[cassandra_metrics] 

1min_ttl = 43200 
5min_ttl = 1209600 
2hr_ttl = 0 
24hr_ttl = 0 

Cela peut aussi être mis en address.yaml sur chaque de vos agents. Plus facile à définir dans la configuration du cluster OpsCenter une fois cependant.

Vous pouvez modifier un peu les paramètres de la table pour améliorer la purge des pierres tombales.

ALTER TABLE "OpsCenter".rollups60 WITH 
    compaction = {'class': 'SizeTieredCompactionStrategy', 
    'tombstone_compaction_interval': '1', 
    'unchecked_tombstone_compaction': 'true', 
    'tombstone_threshold': '0.05'} AND 
    gc_grace_seconds = 0 

Pour être plus agressif, vous pouvez utiliser LCS, mais cela augmente l'utilisation des E/S. Dans l'intérêt de votre scénario, c'est probablement Ok (au moins avec l'option ttl ci-dessus), vous n'aurez pas autant de données à stocker.

ALTER TABLE "OpsCenter".rollups60 WITH 
    compaction = {'class': 'LeveledCompactionStrategy', 
    'sstable_size_in_mb': '256mb', 
    'tombstone_compaction_interval': '1', 
    'unchecked_tombstone_compaction': 'true', 
    'tombstone_threshold': '0.05'} AND 
    gc_grace_seconds = 0