2017-01-17 17 views
0

Я хочу, чтобы удалить большое количество строк из конкретной таблицыКассандра nodetool компактно ничего не происходит

я следующие шаги: 1) Установить gc_grace_seconds = 0 для таблицы 2) Удален большое количество строк ~ 1 млн. 3) Ran ./nodetool compact keyspace_name table_name

Однако, когда я бежал, nodetool compact (шаг 3), ничего не происходит. Он не начинает уплотнять. Из-за большого количества надгробий большинство моих запросов теперь тайм-аут.

Таблица имеет следующие параметры:

AND bloom_filter_fp_chance = 0.001 
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' 
    AND comment = '' 
    AND compaction = {'tombstone_threshold': '0.2', 'tombstone_compaction_interval': '86400', 'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'} 
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'} 
    AND dclocal_read_repair_chance = 0.1 
    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.0 
    AND speculative_retry = '99.0PERCENTILE'; 

Я хочу, чтобы уплотнить и избавиться от надгробий, так что я могу на самом деле избавиться от нежелательных данных.

У меня есть два узла в моем кластере с коэффициентом репликации 2 Так как я удалил, разница в размере между ними увеличилась. Существует разница около 700 МБ. Я использую Dsc-Кассандру 2.1.10

cfstats показаны ниже

Keyspace: keyspace1 
     Read Count: 16316 
     Read Latency: 12.23892982348615 ms. 
     Write Count: 11078808 
     Write Latency: 0.6955001765532899 ms. 
     Pending Flushes: 0 
       Table: table1 
       SSTable count: 92 
       SSTables in each level: [1, 4, 38, 49, 0, 0, 0, 0, 0] 
       Space used (live): 38247164244 
       Space used (total): 38247164244 
       Space used by snapshots (total): 26692664189 
       Off heap memory used (total): 14695952 
       SSTable Compression Ratio: 0.32499125289530584 
       Number of keys (estimate): 2788 
       Memtable cell count: 16632 
       Memtable data size: 1839846 
       Memtable off heap memory used: 0 
       Memtable switch count: 93 
       Local read count: 16316 
       Local read latency: 12.239 ms 
       Local write count: 11078808 
       Local write latency: 0.696 ms 
       Pending flushes: 0 
       Bloom filter false positives: 331 
       Bloom filter false ratio: 0.00000 
       Bloom filter space used: 10960 
       Bloom filter off heap memory used: 10224 
       Index summary off heap memory used: 3672 
       Compression metadata off heap memory used: 14682056 
       Compacted partition minimum bytes: 216 
       Compacted partition maximum bytes: 3449259151 
       Compacted partition mean bytes: 25823653 
       Average live cells per slice (last five minutes): 405.3014160485502 
       Maximum live cells per slice (last five minutes): 5002.0 
       Average tombstones per slice (last five minutes): 0.0 
       Maximum tombstones per slice (last five minutes): 0.0 

ответ

0

стратегии уплотнительной диктует поведение nodetool компактного и есть тонкие различия в API между версиями

http://docs.datastax.com/en/archived/cassandra/3.x/cassandra/tools/toolsCompact.html vs https://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsCompact.html

Удалить данные и надгробные плиты:

  1. переключатель стратегия уплотнения для SizeTieredComapction
  2. перспективе основным уплотнению, который будет генерировать один sstable (который не будет содержать Надгробия/данные, охватываемые надгробий)
  3. переключатель уплотнения назад к LeveledCompaction

Выполнение основное уплотнение и переключение между стратегиями уплотнения - интенсивная операция ввода-вывода - учтите это.

 Смежные вопросы

  • Нет связанных вопросов^_^