Дублированные файлы Cassandra SSTable

После неудачного nodetool repairоперация У меня есть два больших файла sstable (последние два в листинге ниже) вместо одного, каждый из которых имеет тот же размер, что и предыдущий файл. И теперь эти файлы нельзя объединить обычными инструментами (очистка nodetool, компактный nodetool, ремонт nodetool). Таблицы реплицируются на другой узел cassandra (replication_factor: 2), и теперь есть два больших файла sstable.

      -rw-r--r--   1 cassandra cassandra  16M Mar  5 12:36 mc-116413-big-Data.db
-rw-r--r--   1 cassandra cassandra  34M Mar  5 01:21 mc-116320-big-Index.db
-rw-r--r--   1 cassandra cassandra  39M Mar  3 22:46 mc-116125-big-Index.db
-rw-r--r--   1 cassandra cassandra  66M Mar  5 12:25 mc-116412-big-Data.db
-rw-r--r--   1 cassandra cassandra 262M Mar  5 05:51 mc-116365-big-Data.db
-rw-r--r--   1 cassandra cassandra 263M Mar  5 08:46 mc-116386-big-Data.db
-rw-r--r--   1 cassandra cassandra 263M Mar  5 11:42 mc-116407-big-Data.db
-rw-r--r--   1 cassandra cassandra 7.2G Mar  5 03:18 mc-116345-big-Data.db
-rw-r--r--   1 cassandra cassandra  43G Mar  3 22:46 mc-116125-big-Data.db
-rw-r--r--   1 cassandra cassandra  48G Mar  5 01:21 mc-116320-big-Data.db```

I suppose that one of this files contains duplicated data. How can I compact files back to a single file?

1 ответ

Возможно, я не ищу должным образом, но я не вижу дубликатов файлов SSTable в опубликованном вами списке файлов.

Если вы имеете в виду эти 2:

      -rw-r--r--   1 cassandra cassandra  43G Mar  3 22:46 mc-116125-big-Data.db
-rw-r--r--   1 cassandra cassandra  48G Mar  5 01:21 mc-116320-big-Data.db

Они не являются дубликатами, потому что у них есть 2 разных идентификатора поколения - 116125 и 116320. Это означает, что у них тоже разные предки.

Если вы имеете в виду это:

      -rw-r--r--   1 cassandra cassandra  39M Mar  3 22:46 mc-116125-big-Index.db
-rw-r--r--   1 cassandra cassandra  43G Mar  3 22:46 mc-116125-big-Data.db

-rw-r--r--   1 cassandra cassandra  34M Mar  5 01:21 mc-116320-big-Index.db
-rw-r--r--   1 cassandra cassandra  48G Mar  5 01:21 mc-116320-big-Data.db

Опять же, они не дублируют друг друга. В *-Data.dbфайлы содержат актуальные данные. В *-Index.db Файлы - это файлы компонентов, которые содержат индекс раздела, то есть индекс разделов в файлах данных, которые используются для быстрого поиска.

Если вам интересно, я объяснил это более подробно в этом посте - https://community.datastax.com/questions/5219/ . Ваше здоровье!

[ОБНОВЛЕНИЕ] Чтобы ответить на следующий вопрос:

Не могли бы вы предположить, почему эти два файла не сжимаются в один, как обычно?

Предполагая, что таблица настроена с SizeTieredCompactionStrategy, для этого потребуются стойки такого же размера, как и у кандидатов, прежде чем они будут уплотнены вместе.

В минимальных по умолчанию sstable кандидатов являются min_threshold: 4 так что вам нужно 4 стойки одинакового размера для запуска уплотнения.

Другие вопросы по тегам