Skonfiguruj Cassandra

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 zbioru danych 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

  1. Utwórz lub zmodyfikuj plik zastępowania konfiguracji Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Dodaj, usuń lub zmień wiersz konfiguracji zależnie od potrzeb.
  3. Zapisz plik i sprawdź, czy należy on do użytkownika „apigee” i może go odczytać:
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Uruchom ponownie usługę Cassandra w węźle:
    apigee-service apigee-cassandra restart
  5. 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