Как настроить Cassandra

В этом документе описывается настройка Cassandra 5.0.X, которая входит в состав Apigee Edge для частного облака версии 4.54.00 или более поздней. Подробные сведения о применении конфигураций, описанных на этой странице, приведены в приложении.

Конфигурация сборщика мусора

Как изменить настройки G1GC

По умолчанию Apigee поставляет Cassandra со сборщиком мусора G1 (G1GC) и предоставляет параметры G1GC по умолчанию. Поскольку Cassandra 5.0.X работает на Java 17, сборщик мусора Concurrent Mark Sweep (CMS) (conf_jvm_options_gc_type=cms и conf_jvm_options_cms_gc_setting_lines) больше не поддерживается. Чтобы изменить параметры G1GC, задайте свойство conf_jvm_options_g1_gc_setting_lines в одной строке, разделяя параметры JVM символом \n.

Пример:

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

Как использовать собственные настройки GC

Чтобы игнорировать настройки Apigee для G1GC, задайте следующую конфигурацию:

conf_jvm_options_gc_type=custom

Укажите все настройки сборки мусора для JVM в conf_jvm_options_custom_settings, разделяя их \n.

Пример:

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

Как настроить размер кучи

Apigee настоятельно рекомендует использовать Cassandra с размером кучи не более 8 ГБ. Проверки, ограничивающие размер кучи до 8 ГБ, находятся в $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh.

Чтобы указать собственный размер кучи, не отключая проверки вручную, используйте конфигурацию conf_jvm_options_custom_settings. Разделяйте настройки символом \n.

Пример:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

Как настроить общие параметры JVM

Чтобы добавить параметры JVM в Cassandra, укажите все конфигурации JVM в одной строке, разделенной \n для конфигурации conf_jvm_options_custom_settings.

Пример:

conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures

Приложение

Как задать любую конфигурацию Cassandra

  1. Создайте или отредактируйте файл переопределения конфигурации Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Добавьте, удалите или измените строку конфигурации.
  3. Сохраните файл и убедитесь, что он принадлежит пользователю apigee и доступен ему для чтения:
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Перезапустите сервис Cassandra на узле:
    apigee-service apigee-cassandra restart
  5. Повторите эти шаги для каждого узла Cassandra по очереди.

Различные типы конфигурации

Конфигурация conf_jvm_options_custom_settings может передавать разные параметры в JVM Cassandra. Объедините различные параметры Java в одну конфигурацию и разделите их символом "\n".

Пример:

conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G