Este documento aborda a configuração do Cassandra 3.11.X, incluída no Apigee Edge para nuvem privada versões 4.52.02 ou posteriores. Consulte a seção de apêndice para ver detalhes sobre como realizar as configurações descritas aqui.
Configuração do coletor de lixo
Mudar para o CMS (sistema de gerenciamento de conteúdo)
Por padrão, a Apigee envia o Cassandra com o coletor de lixo G1, que é recomendado para o Cassandra 3.X. No entanto, para casos de uso variados e sua própria infraestrutura, como no Edge para nuvem privada, é possível mudar para o coletor de lixo do CMS. Para tamanhos de heap maiores que 8 GB, a Apigee recomenda enfaticamente 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 a GC do CMS 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 do G1GC
A Apigee fornece parâmetros padrão para o coletor de lixo G1. Esses parâmetros são aplicados quando o G1GC padrão está ativado. Se você mudar para o CMS, essas configurações não serão aplicadas. Para mudar os parâmetros de G1GC, use a configuração conf_jvm_options_g1_gc_setting_lines
. Defina todos os parâmetros relevantes da JVM para a GC do G1 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 tamanhos de heap
A Apigee recomenda usar o Cassandra com, no máximo, 8 GB de espaço de heap. As verificações para limitar o tamanho de heap a 8 GB estão em $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
.
Para especificar seu próprio dimensionamento 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
Como definir as 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 pertence e pode ser lido pelo usuário da "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.
Tipos variados de configuração
A configuração conf_jvm_options_custom_settings
pode transmitir parâmetros diferentes para a JVM do Cassandra. Combine diversos 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