Uruchamiam klaster 1 Datacenter (6 węzłów) i Cassandra 3.11.0 zainstalowany na każdym węźle z czynnikiem replikacji 2. Wiem nodetool repair -pr przeprowadzi naprawę podstawowych zakresów na tym węźle. Moje pytanie, jest jak nodetool repair -pr -full jest inny niż nodetool repair -pr?

Która opcja naprawy powinienem używać w ciężkim systemie produkcyjnym obciążenia?

2
Sam 22 marzec 2021, 05:39

2 odpowiedzi

Najlepsza odpowiedź

Moje pytanie brzmi jak nodetool repair -pr -full jest inny niż nodetool repair -pr?

Więc "pełna" naprawa oznacza, że wszystkie dane między węzłami źródłowymi i docelowymi zostaną zweryfikowane i naprawione. Zasadniczo, jest przeciwieństwem " Przyrostowe "Naprawa, gdzie naprawiona jest tylko podzbiór danych. Te dwie opcje sterowania , jak bardzo naprawiają dane .

Po ustaleniu (przyrostowe vs. pełne), -pr będzie działać na tym podzbiorze, a następnie naprawi podstawowe repliki.

Dodatkowo -full jest domyślnie dla Cassandra 3; który zrobiłby -pr i -pr -full zasadniczo to samo.

Która opcja naprawy powinienem używać w ciężkim systemie produkcyjnym obciążenia?

Będę drugi, co powiedział Alex, a także polecam żniwiarz Cassandra dla tego. Ma możliwość zaplanowania napraw do wolniejszych czasów, a także pozwala wstrzymać naprawy, które nie ukończyły się w czasie.

1
Aaron 22 marzec 2021, 13:26

W przypadku systemów produkcyjnych, jako część lepiej używać naprawy token (przy użyciu opcji {X0}} / -et), aby ograniczyć obciążenie na węzły. Robiąc to ręcznie, może być żmudna, ale może być zautomatyzowana z narzędziami, takimi jak Reaper, który śledzi, jakie są zakresy token już naprawiony i co nie.

1
Alex Ott 22 marzec 2021, 07:05