2016-07-26 43 views
2

Wir verwenden DSE 4.8.8 mit OpsCenter 5.2.4. Alle unsere OpsCenter.rollups* Tabellen wachsen immer, vor allem die rollups60 ein:OpsCenter-Rollups * Tabellen wachsen für immer

Size of rollups60, 1 month

Der Schlüsselraum OpsCenter verwendet org.apache.cassandra.locator.NetworkTopologyStrategy, DC1 1, DC2 1

Tabelleneinstellungen:

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'; 

die Einträge haben keine TTL an den Säulen key und timestamp und eine TTL von 604.618 auf der Säule value.

Irgendeine Idee, wie man das repariert? Ich habe bereits versucht, eine truncate wie hier beschrieben: Datastax support

Antwort

0

Sie können die 1 Minute (Rollup 60 Tabelle) ttl über die Cluster-Konfigurationsdatei festgelegt: 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 

Dies kann auch in den address.yaml auf jedem eingestellt werden Ihrer Agenten. In der OpsCenter-Cluster-Konfiguration ist dies jedoch einfacher möglich.

Sie können die Tabelleneinstellungen ein wenig optimieren, um das Löschen von Tombstones zu verbessern.

Um aggressiver zu sein, können Sie LCS verwenden, aber dies erhöht IO-Nutzung. Für Ihr Szenario, obwohl es wahrscheinlich OK als (zumindest mit TTL Option oben) Sie haben nicht wirklich so viele Daten zu speichern.

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