В этом документе описана конфигурация Cassandra 3.11.X, которая входит в состав Apigee Edge для частного облака версии 4.52.02 или более поздней. Подробные сведения о том, как выполнить описанные здесь настройки, приведены в приложении.
Настройка сборщика мусора
Как перейти на использование CMS
По умолчанию Apigee поставляется с Cassandra и сборщиком мусора G1, который рекомендуется для Cassandra 3.X. Однако в некоторых случаях, например при использовании Edge для частного облака, может потребоваться перейти на сборщик мусора CMS. Если размер кучи превышает 8 ГБ, Apigee настоятельно рекомендует использовать G1GC.
Чтобы использовать сборщик мусора CMS, задайте следующие настройки:
conf_jvm_options_gc_type=cmsЧтобы вернуться к использованию сборщика мусора G1, удалите эту конфигурацию.
Как изменить настройки сборщика мусора CMS
Apigee предоставляет параметры по умолчанию для сборщика мусора CMS. Эти параметры применяются, когда Cassandra использует CMS. Чтобы изменить эти параметры, используйте файл конфигурации conf_jvm_options_cms_gc_setting_lines. Укажите все необходимые параметры JVM для сборщика мусора CMS в одной строке, разделяя их символом "\n".
Пример:
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Как изменить настройки сборщика мусора G1GC
Apigee предоставляет параметры по умолчанию для сборщика мусора G1. Эти параметры применяются, когда включен сборщик мусора G1GC по умолчанию. Если вы перейдете на систему управления контентом, эти настройки применяться не будут. Чтобы изменить параметры G1GC, используйте config conf_jvm_options_g1_gc_setting_lines. Укажите все необходимые параметры JVM для сборщика мусора G1 в одной строке, разделяя их символом "\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 и CMS, задайте следующие конфигурации:
conf_jvm_options_gc_type=customУкажите все настройки сборщика мусора для виртуальной машины Java в файле 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. Каждую настройку нужно указывать в отдельной строке.
Пример:
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8GКак настроить общие параметры JVM
Чтобы добавить параметры JVM в Cassandra, укажите все конфигурации JVM в одной строке, разделяя их символом "\n", для параметра config 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
- Создайте или измените файл переопределения конфигурации Cassandra:
vi $APIGEE_ROOT/customer/application/cassandra.properties - Добавьте, удалите или измените строку конфигурации.
- Сохраните файл и убедитесь, что он принадлежит пользователю apigee и доступен ему для чтения:
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties - Перезапустите сервис Cassandra на узле:
apigee-service apigee-cassandra restart - Повторите эти шаги для каждого узла Cassandra по очереди.
Разные типы конфигураций
Конфигурация conf_jvm_options_custom_settings может передавать разные параметры в JVM Cassandra. Объедините различные параметры Java в одну конфигурацию и разделите их символом "\n".
Пример:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G