Ten dokument dotyczy konfiguracji Cassandra 4.0.X, która jest dostępna w Apigee Edge for Private Cloud w wersji 4.53.00 lub nowszej. Szczegółowe informacje o opisanych tu konfiguracjach znajdziesz w załączniku.
Konfiguracja mechanizmu czyszczenia pamięci
Przejście na korzystanie z CMS
Domyślnie Apigee dostarcza Cassandra z użytkownikiem G1 Garbage Collector, który jest zalecany w przypadku Cassandra 4.X. Jednak w przypadku różnych zastosowań i własnej infrastruktury, np. w Edge dla prywatnej chmury, możesz przejść na CMS Garbage Collector. W przypadku rozmiarów stosu większych niż 8 GB Apigee zdecydowanie zaleca używanie G1GC.
Aby używać CMS Garbage Collector, użyj tej konfiguracji:
conf_jvm_options_gc_type=cms
Aby przywrócić używanie zbieracza G1, usuń tę konfigurację.
Modyfikowanie ustawień CMS dotyczącego czyszczenia pamięci
Apigee udostępnia parametry domyślne dla CMS Garbage Collector. Te parametry są stosowane, gdy Cassandra korzysta z CMS. Aby zmienić te parametry, użyj konfiguracji conf_jvm_options_cms_gc_setting_lines
. Ustaw wszystkie odpowiednie parametry JVM dla CMS GC w jednym wierszu, oddzielone znakiem „\n”.
Przykład:
conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled
Zmiana ustawień zbieracza G1GC
Apigee udostępnia parametry domyślne dla zbieracza pamięci G1. Te parametry są stosowane, gdy domyślna grupa G1GC jest włączona. Jeśli przełączysz się na system CMS, te ustawienia nie będą miały zastosowania. Aby zmienić parametry G1GC, użyj polecenia config conf_jvm_options_g1_gc_setting_lines
. Ustaw wszystkie odpowiednie parametry JVM dla G1 GC w pojedynczym wierszu, rozdzielając je znakiem „\n”.
Przykład:
conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15
Używanie własnych ustawień GC
Aby zignorować wszystkie wstępnie skonfigurowane ustawienia Apigee zarówno w przypadku G1GC, jak i CMS, ustaw te konfiguracje:
conf_jvm_options_gc_type=custom
W ustawieniu conf_jvm_options_custom_settings
podaj wszystkie ustawienia GC dla JVM, oddzielając je znakiem „\n”.
Przykład:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
Konfigurowanie rozmiarów stosu
Apigee zdecydowanie zaleca korzystanie z Cassandra z maksymalnie 8 GB pamięci stosu. Sprawdzanie, czy rozmiar stosu nie przekracza 8 GB, jest dostępne w $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
Aby określić własny rozmiar stosu bez ręcznego wyłączania kontroli, użyj konfiguracji conf_jvm_options_custom_settings
. Oddziel każde ustawienie znakiem „\n”.
Przykład:
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
Konfigurowanie ogólnych ustawień JVM
Aby dodać parametry JVM do Cassandra, określ wszystkie konfiguracje JVM w jednym wierszu rozdzielonym znakiem „\n” dla konfiguracji conf_jvm_options_custom_settings
.
Przykład:
conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures
Dodatek
Jak skonfigurować dowolną konfigurację Cassandra
- Utwórz lub zmodyfikuj plik zastąpienia konfiguracji Cassandra:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- Dodaj, usuń lub zmodyfikuj wiersz konfiguracji zgodnie z potrzebami.
- Zapisz plik i upewnij się, że jest on własnością użytkownika „apigee” i że można go odczytać:
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- Ponownie uruchom usługę Cassandra na węźle:
apigee-service apigee-cassandra restart
- Powtórz te czynności w przypadku każdego węzła Cassandra, po kolei.
Różne typy konfiguracji
Konfiguracja conf_jvm_options_custom_settings
może przekazywać różne parametry do Cassandra JVM. Połącz różne parametry Java w jedną konfigurację i rozdziel je za pomocą znaku „\n”.
Przykład:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G