Мы пытаемся проверить состояние репликации в нашем кластере cassandra. Мой коллега обнаружил, что на нескольких узлах существует лишь небольшое количество файлов sstable. Все остальные уникальны.
Для меня это имеет смысл. Насколько я понимаю, каждый узел должен отвечать за уникальный набор диапазонов и должен иметь sstables, которые отражают эти диапазоны. Но теперь я не уверен.
Должны ли мы найти по крайней мере n копий каждого sstable с фактором репликации n? Или копии sstables являются результатом бутстрапа и еще не были уплотнены?
решение1
Файлы SSTable создаются, когда происходит очистка memtable и когда SSTables сжимаются. На каждом узле это может происходить в разное время (плюс другие факторы, такие как короткое время простоя и т. д.).
Чтобы все данные были правильно реплицированы, необходимо реализовать процесс восстановления — либо явно вызвав nodetool repair
, либо используя некоторые инструменты, например, OpsCenter от DataStax (только для DSE) или Reaper (или что-то подобное).