Configura Cassandra

En este documento, se describe la configuración de Cassandra 4.0.X, que se incluye en las versiones 4.53.00 o posteriores de Apigee Edge para la nube privada. Consulta la sección del apéndice para obtener detalles sobre cómo realizar las configuraciones que se describen aquí.

Configuración del recolector de elementos no utilizados

Cambia al uso del CMS

De forma predeterminada, Apigee envía Cassandra con el recolector de basura G1, que se recomienda para Cassandra 4.X. Sin embargo, para casos de uso variados y tu propia infraestructura, como en Edge para la nube privada, puedes optar por cambiar al recolector de basura de CMS. Para tamaños de montón superiores a 8 GB, Apigee recomienda usar G1GC.

Para usar el recolector de basura de CMS, establece la siguiente configuración:

conf_jvm_options_gc_type=cms

Para volver a usar el recolector de elementos no utilizados G1, quita esta configuración.

Modifica la configuración del recolector de elementos no utilizados de CMS

Apigee proporciona parámetros predeterminados para el recolector de elementos no utilizados de CMS. Estos parámetros se aplican cuando Cassandra usa CMS. Para cambiar estos parámetros, usa la configuración conf_jvm_options_cms_gc_setting_lines. Establece todos los parámetros de JVM relevantes para el GC de CMS en una sola línea, separados por “\n”.

Ejemplo:

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

Modifica la configuración del recolector de elementos no utilizados G1GC

Apigee proporciona parámetros predeterminados para el recolector de elementos no utilizados G1. Estos parámetros se aplican cuando se habilita el G1GC predeterminado. Si cambias al CMS, no se aplicará esta configuración. Para cambiar los parámetros de G1GC, usa la configuración conf_jvm_options_g1_gc_setting_lines. Establece todos los parámetros de JVM relevantes para la GC de G1 en una sola línea, separados por “\n”.

Ejemplo:

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

Usa tu propia configuración de GC

Para ignorar todos los parámetros preestablecidos de Apigee para G1GC y CMS, establece la siguiente configuración:

conf_jvm_options_gc_type=custom

Especifica todos los parámetros de configuración de GC para la JVM en conf_jvm_options_custom_settings y separa cada parámetro con “\n”.

Ejemplo:

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

Cómo configurar los tamaños de montón

Apigee recomienda operar Cassandra con no más de 8 GB de espacio de montón. Las verificaciones para limitar el tamaño del montón a 8 GB se encuentran en $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh.

Para especificar tu propio tamaño de montón sin inhabilitar las verificaciones de forma manual, usa la configuración conf_jvm_options_custom_settings. Separa cada parámetro de configuración con “\n”.

Ejemplo:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

Cómo configurar la configuración general de JVM

Para agregar parámetros de JVM a Cassandra, especifica todas las configuraciones de JVM en una sola línea separadas por “\n” para la configuración conf_jvm_options_custom_settings.

Ejemplo:

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

Apéndice

Cómo establecer cualquier configuración de Cassandra

  1. Crea o edita el archivo de anulación de configuración de Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Agrega, quita o modifica la línea de configuración según sea necesario.
  3. Guarda el archivo y asegúrate de que el usuario “apigee” sea el propietario y pueda leerlo:
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Reinicia el servicio de Cassandra en el nodo:
    apigee-service apigee-cassandra restart
  5. Repite estos pasos en cada nodo de Cassandra, uno por uno.

Diversos tipos de configuración

La configuración conf_jvm_options_custom_settings puede pasar diferentes parámetros a la JVM de Cassandra. Combina varios parámetros de Java en una sola configuración y sepáralos con “\n”.

Ejemplo:

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