Ten dokument opisuje konfigurację systemu Cassandra 3.11.X, która jest dostępna w ramach Apigee Edge for Private Cloud w wersji 4.52.02 lub nowszej. Szczegółowe informacje o sposobach wykonywania opisanych tu konfiguracji znajdziesz w dodatku.
Konfiguracja czyszczenia pamięci
Zacznij używać CMS-a
Domyślnie Apigee wysyła Cassandra z modułem Śmieciownia G1, który jest zalecany w przypadku Cassandra 3.X. Jednak w różnych przypadkach użycia i w Twojej własnej infrastrukturze, np. w Edge for Private Cloud, możesz przejść na usługę CMS Garbage Collector. W przypadku sterty większych niż 8 GB zdecydowanie zalecamy korzystanie z G1GC.
Aby korzystać z funkcji garbage Collector w systemie CMS, ustaw tę konfigurację:
conf_jvm_options_gc_type=cms
Jeśli chcesz powrócić do korzystania z usługi G1 – odpadającą, usuń tę konfigurację.
Modyfikowanie ustawień modułu czyszczenia pamięci CMS
Apigee udostępnia domyślne parametry dla modułu do opróżniania CMS. Te parametry mają zastosowanie, gdy Cassandra korzysta z systemu CMS. Aby zmienić te parametry, użyj konfiguracji conf_jvm_options_cms_gc_setting_lines
. Umieść wszystkie istotne parametry JVM dla GC CMS w jednym wierszu, oddzielając je 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
Modyfikowanie ustawień procesu czyszczenia pamięci G1GC
Apigee udostępnia domyślne parametry modułu odśmiecania G1. Te parametry są stosowane, gdy domyślne narzędzie G1GC jest włączone. Jeśli przejdziesz na system CMS, te ustawienia nie będą obowiązywać. Aby zmienić parametry G1GC, użyj konfiguracji conf_jvm_options_g1_gc_setting_lines
. Umieść wszystkie istotne parametry JVM dla GC w G1 w jednym wierszu, rozdzielone 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
Korzystanie z własnych ustawień GC
Aby zignorować wszystkie gotowe ustawienia Apigee zarówno dla G1GC, jak i CMS, ustaw te konfiguracje:
conf_jvm_options_gc_type=custom
Określ wszystkie ustawienia GC dla JVM w conf_jvm_options_custom_settings
, oddzielając każde ustawienie znakiem „\n”.
Przykład:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
Konfigurowanie rozmiarów sterty
Apigee zdecydowanie zaleca korzystanie z Cassandra z nie więcej niż 8 GB miejsca na stercie. Ustawienia pozwalające ograniczyć rozmiar stosu do 8 GB są dostępne w $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
Aby określić własny rozmiar stosu bez ręcznego wyłączania sprawdzania, 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, w konfiguracji conf_jvm_options_custom_settings
podaj wszystkie konfiguracje JVM w jednym wierszu, oddzielając je znakiem „\n”.
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 ustawić dowolną konfigurację systemu Cassandra
- Utwórz lub zmodyfikuj plik zastąpienia konfiguracji Cassandra:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- Dodaj, usuń lub zmień wiersz konfiguracji zależnie od potrzeb.
- Zapisz plik i upewnij się, że należy on do użytkownika „apigee” i może go odczytać:
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- Ponownie uruchom usługę Cassandra w węźle:
apigee-service apigee-cassandra restart
- Powtórz te kroki w każdym węźle Cassandra, po kolei.
Różne typy konfiguracji
Konfiguracja conf_jvm_options_custom_settings
może przekazywać różne parametry do maszyny wirtualnej Cassandra. Połącz różne parametry Java w jedną konfigurację i rozdzielaj je znakiem „\n”.
Przykład:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G