Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Como solucionar problemas gerais no Amazon Keyspaces

Modo de foco

Nesta página

Como solucionar problemas gerais no Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Recebendo erros gerais? Aqui estão alguns problemas comuns e como resolvê-los.

Erros gerais

Você está recebendo uma das seguintes exceções de alto nível que podem ocorrer devido a vários motivos diferentes.

  • NoNodeAvailableException

  • NoHostAvailableException

  • AllNodesFailedException

Essas exceções são geradas pelo driver do cliente e podem ocorrer quando você está estabelecendo a conexão de controle ou quando está executando read/write/prepare/execute/batch solicitações.

Quando o erro ocorre ao estabelecer a conexão de controle, é um sinal de que todos os pontos de contato especificados em seu aplicativo estão inacessíveis. Quando o erro ocorre durante a execução de read/write/prepare/execute consultas, ele indica que todas as novas tentativas dessa solicitação foram esgotadas. Cada nova tentativa é tentada em um nó diferente quando você está usando a política de repetição padrão.

Como isolar o erro subjacente das exceções do driver Java de nível superior

Esses erros gerais podem ser causados por problemas de conexão ou durante a execução de read/write/prepare/execute operações. Falhas transitórias devem ser esperadas em sistemas distribuídos e devem ser tratadas repetindo a solicitação. O driver Java não tenta novamente automaticamente quando são encontrados erros de conexão, portanto, é recomendável implementar a política de repetição ao estabelecer a conexão do driver em seu aplicativo. Para obter uma visão geral detalhada das melhores práticas de conexão, consulte Otimize as conexões do driver do cliente para o ambiente sem servidor.

Por padrão, o driver Java é definido como false idempotence para todas as solicitações, o que significa que o driver Java não repete automaticamente a read/write/prepare solicitação com falha. Para configurar idempotence para true e solicitar ao driver que repita solicitações com falha, você pode fazer isso de algumas maneiras diferentes. Aqui está um exemplo de como você pode definir a idempotência de forma programática para uma única solicitação em seu aplicativo Java.

Statement s = new SimpleStatement("SELECT * FROM my_table WHERE id = 1"); s.setIdempotent(true);

Ou é possível definir a idempotência padrão para todo o aplicativo Java de forma programática, conforme mostrado no exemplo a seguir.

// Make all statements idempotent by default: cluster.getConfiguration().getQueryOptions().setDefaultIdempotence(true); //Set the default idempotency to true in your Cassandra configuration basic.request.default-idempotence = true

Outra recomendação é criar uma política de repetição no nível do aplicativo. Nesse caso, o aplicativo precisa capturar o NoNodeAvailableException e repetir a solicitação. Recomendamos 10 novas tentativas com recuo exponencial começando em 10 ms e trabalhando até 100 ms com um tempo total de 1 segundo para todas as tentativas.

Outra opção é aplicar a política de repetição exponencial do Amazon Keyspaces ao estabelecer a conexão do driver Java disponível no Github.

Confirme se você estabeleceu conexões com mais de um nó ao usar a política de repetição padrão. Para isso, use a consulta a seguir no Amazon Keyspaces.

SELECT * FROM system.peers;

Se a resposta para essa consulta estiver vazia, isso indica que você está trabalhando com um único nó para o Amazon Keyspaces. Se você estiver usando a política de repetição padrão, não haverá novas tentativas porque a nova tentativa padrão sempre ocorre em um nó diferente. Para saber mais sobre como estabelecer conexões em VPC endpoints, consulteComo configurar conexões por meio de endpoints da VPC no Amazon Keyspaces.

Para ver um step-by-step tutorial que mostra como estabelecer uma conexão com o Amazon Keyspaces usando o driver Datastax 4.x Cassandra, consulte. Step-by-step tutorial para se conectar ao Amazon Keyspaces usando o driver DataStax Java 4.x para Apache Cassandra e o plug-in de autenticação SigV4

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.