2015-10-13 9 views
5

Utworzono w nim przestrzeń kluczy i tabelę (rodzina kolumn). Powiedzmy "ks.cf"Przestrzeń dyskowa nie została zwolniona nawet po usunięciu obszaru klucza z programu Kasandra db i zagęszczeniu

Po wprowadzeniu kilku tysięcy wierszy w columnfamily cf ujrzałam użycie dysku przy użyciu df -h.

Następnie upuściłem przestrzeń kluczy za pomocą komendy DROP KEYSPACE ks z cqlsh.

Po upuszczeniu również użycie dysku remains the same. Zrobiłem też nodetool compact, ale bez powodzenia.

Czy ktoś może mi pomóc w konfiguracji tych rzeczy, aby zwolnić dysk po usunięciu danych/wierszy?

Odpowiedz

2

Jeśli próbujesz usunąć wiersze, musisz pozwolić, aby krok usuwania przeszedł zwykły cykl usuwania (delete_row-> tombstone_creation-> compaction_actually_deletes_the_row).

Teraz, jeśli chcesz całkowicie pozbyć się swojego klucza, sprawdź folder danych Kasandra (powinien on być podany w twoim pliku yaml). W moim przypadku jest to "/ mnt/cassandra/data /". W tym folderze znajduje się podfolder dla każdej przestrzeni kluczy (tzn. Ks). Możesz po prostu całkowicie usunąć folder związany z twoją klawiaturą.

Jeśli chcesz zachować folder, dobrze jest wiedzieć, że kassandra tworzy migawkę swojego keyspace, zanim go upuścisz. Zasadniczo kopia zapasowa wszystkich danych. Możesz po prostu przejść do folderu "ks" i znaleźć podkatalog migawek. Przejdź do podkatalogu snapshots i usuń migawkę związaną z upuszczeniem obszaru Keyspace.

+0

Yup !! Utrzymuje migawki, które można usunąć ręcznie. Ale wciąż widzę tę samą przestrzeń dyskową za pomocą df-h, ale nie rośnie, gdy ponownie przesyłaję dane do Kasandra. Może OS lub Cassandra wykonuje jakieś buforowanie lub zarządzanie pamięcią dyskową, której nie znam. –

+0

Pamiętaj, że dla wszystkich Kasandra pisze dane są najpierw przechowywane w pamięci, dopóki Kasandra nie zdecyduje, że nadszedł czas, aby wypłukać je na dysk w formie SStable. Możesz ręcznie przepłukać go na dysk przez "nodetool flush ". – Aki

+0

Oh ok !! wtedy muszą istnieć pewne parametry konfiguracyjne, które decydują, kiedy należy przepłukać i ile danych spłukać. Jakie są te parametry konfiguracyjne? Czy znajdę to w oficjalnej dokumentacji Cassandry? –

5

Niedawno pojawił się ten problem. Po upuszczeniu tabeli tworzona jest migawka. Ta migawka pozwoli ci ją wycofać, jeśli nie było to zamierzone. Jeśli nie chcą jednak, że oszczędzać miejsce na dysku z powrotem trzeba uruchomić:

nodetool -h localhost -p 7199 clearsnapshot

w odpowiednich węzłach. Dodatkowo możesz wyłączyć migawki z auto_snapshot: false w swoim pliku cassandra.yml.

edycja: pisownia/gramatyka

+0

Użyłem tej samej metody, ale nadal pozostały puste katalogi nawet po clearsnapshot. Domyślam się, że można bezpiecznie je usunąć. Ktoś? – gubble

+1

@ Gubble Tak, skończyło się ręczne usunięcie ich z powodu OCD. Upewnij się, że skróty pasują do siebie, jeśli masz tabele o podobnej nazwie. – Highstead

Powiązane problemy