Este documento aborda a configuração do Cassandra 4.0.X, incluído nas versões 4.53.00 ou mais recentes do Apigee Edge para nuvem privada. Consulte a seção do apêndice para saber como realizar as configurações descritas aqui.
Configuração do coletor de lixo
Mudar para o CMS
Por padrão, o Apigee envia o Cassandra com o coletor de lixo G1, que é recomendado para o Cassandra 4.X. No entanto, para casos de uso variados e sua própria infraestrutura, como no Edge para nuvem privada, você pode mudar para o coletor de lixo do CMS. Para tamanhos de heap maiores que 8 GB, a Apigee recomenda o uso do G1GC.
Para usar o coletor de lixo do CMS, defina a seguinte configuração:
conf_jvm_options_gc_type=cms
Para voltar a usar o coletor de lixo G1, remova essa configuração.
Modificar as configurações do coletor de lixo do CMS
A Apigee fornece parâmetros padrão para o coletor de lixo do CMS. Esses parâmetros são aplicados quando o Cassandra usa o CMS. Para mudar esses parâmetros, use a configuração conf_jvm_options_cms_gc_setting_lines
. Defina todos os parâmetros relevantes da JVM para o CMS GC em uma única linha, separados por "\\n".
Exemplo:
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
Modificar as configurações do coletor de lixo G1GC
A Apigee fornece parâmetros padrão para o coletor de lixo G1. Esses parâmetros se aplicam quando o G1GC padrão está ativado. Se você mudar para o CMS, essas configurações não serão aplicadas. Para alterar os parâmetros do G1GC, use a configuração conf_jvm_options_g1_gc_setting_lines
. Defina todos os parâmetros relevantes da JVM para o GC1 em uma única linha, separados por "\\n".
Exemplo:
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
Usar suas próprias configurações de GC
Para ignorar todas as predefinições da Apigee para G1GC e CMS, defina as seguintes configurações:
conf_jvm_options_gc_type=custom
Especifique todas as configurações de GC para a JVM em conf_jvm_options_custom_settings
, separando cada configuração por "\n".
Exemplo:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
Como configurar os tamanhos de heap
A Apigee recomenda operar o Cassandra com no máximo 8 GB de espaço de heap. As verificações para limitar o tamanho do heap a 8 GB estão em $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
Para especificar seu próprio tamanho de heap sem desativar manualmente as verificações, use a configuração conf_jvm_options_custom_settings
. Separe cada configuração com "\n".
Exemplo:
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
Configurar configurações gerais da JVM
Para adicionar parâmetros da JVM ao Cassandra, especifique todas as configurações da JVM em uma única linha separada por "\n" para a configuração conf_jvm_options_custom_settings
.
Exemplo:
conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures
Apêndice
Como definir qualquer configuração do Cassandra
- Crie ou edite o arquivo de substituição de configuração do Cassandra:
vi $APIGEE_ROOT/customer/application/cassandra.properties
- Adicione, remova ou modifique a linha de configuração conforme necessário.
- Salve o arquivo e verifique se ele é de propriedade e legível pelo usuário "apigee":
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- Reinicie o serviço do Cassandra no nó:
apigee-service apigee-cassandra restart
- Repita essas etapas em cada nó do Cassandra, um por um.
Vários tipos de configuração
A configuração conf_jvm_options_custom_settings
pode transmitir parâmetros diferentes para a JVM do Cassandra. Combine vários parâmetros Java em uma única configuração e separe por "\n".
Exemplo:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G