Alto uso de CPU e tráfego em alguns nós do Cassandra

Alto uso de CPU e tráfego em alguns nós do Cassandra

Conforme declarado no título, estamos tendo um problema com nosso cluster Cassandra. Há9 nóscom umfator de replicação de 3usandoTopologia de RedeEstratégia. Tudo no mesmo DC e Rack. A versão de Cassandra é3.11.4(planejando mudar em 3.11.10). As instâncias têm4 CPUe32 GB de RAM. (planejando mudar para 8 CPU)

Sempre que tentamos executar o reparo em nosso cluster (usando Cassandra Reaper em um de nossos nós), perdemos um nó em algum lugar do processo. Paramos rapidamente o reparo, reiniciamos o serviço Cassandra no nó e esperamos que ele entre no anel. Portanto, nunca podemos fazer reparos atualmente.

Observei o problema e percebi que esse problema é causado pelo alto uso da CPU em alguns de nossos nós(exatamente 3). Você pode ver o gráfico de intervalo de 1 semana abaixo.Altos e baixos são causados ​​pelo uso do aplicativo. De manhã, é muito baixo.

Gráfico de uso da CPU

Comparei os processos em execução em cada nó e não há nada extra nos nós de alta CPU. Comparei as configurações. Eles são idênticos. Não foi possível encontrar nenhuma diferença.

Também percebi que esses nós são os que absorvem a maior parte do tráfego. Veja o gráfico de intervalo de 1 semana abaixo.Bytes enviados e recebidos.

Gráfico de bytes enviados e recebidos

Eu fiz algumas pesquisas. eu encontreiessethread e no final recomenda-se definir dynamic_snitch: falsea configuração do Cassandra. Eu olhei para nossa estratégia de delação, que éFofocaPropertyFileSnitch. Na prática, esta estratégia deveria funcionar corretamente, mas acho que não.

O trabalho de um informante é fornecer informações sobre a topologia de sua rede para que Cassandra possa rotear solicitações com eficiência.

Minha única observação que pode ser a causa desse problema é que existe um arquivo chamadocassandra-topologia.propertiesque é especificamentedisse para ser removidose estiver usando GossipingPropertyFileSnitch

O rack e o datacenter do nó local são definidos em cassandra-rackdc.properties e propagados para outros nós por meio de fofoca. Se cassandra-topology.properties existir, ele será usado como substituto, permitindo a migração do PropertyFileSnitch.

Não removi este arquivo porque não consegui encontrar nenhuma prova concreta de que isso estivesse causando o problema. Se você tiver algum conhecimento sobre isso ou encontrar qualquer outro motivo para o meu problema, agradeceria sua ajuda.

informação relacionada