Skonfiguruj Cassandra

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

  1. Utwórz lub zmodyfikuj plik zastąpienia konfiguracji Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Dodaj, usuń lub zmodyfikuj wiersz konfiguracji zgodnie z potrzebami.
  3. 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
  4. Ponownie uruchom usługę Cassandra na węźle:
    apigee-service apigee-cassandra restart
  5. 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