Настроить Кассандру

В этом документе описана конфигурация 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 GC в одной строке, разделенной «\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 по умолчанию. Если вы перейдете на CMS, эти настройки не применяются. Чтобы изменить параметры G1GC, используйте конфигурацию conf_jvm_options_g1_gc_setting_lines . Установите все соответствующие параметры JVM для G1 GC в одной строке, разделенной «\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

Укажите все настройки GC для 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