O que significa este erro de servidor?

0
>     org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'videoMobileController': Invocation of init
> method failed; nested exception is
> org.springframework.data.mongodb.UncategorizedMongoDbException: could
> not initialize sharding on connection 54.xx.xx.198:27017 :: caused by
> :: mongos specified a different config database string : stored :
> 54.xx.xx.55:27019 vs given : 54.xx.xx.249:27019; nested exception is com.mongodb.MongoException: could not initialize sharding on
> connection 54.xx.xx.198:27017 :: caused by :: mongos specified a
> different config database string : stored : 54.xx.xx.55:27019 vs given
> : 54.xx.xx.249:27019
>             at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
    
por rahulqelfo 12.10.2014 / 05:04

1 resposta

0

Não posso ter certeza sem ver os registros, etc., mas os endereços IP envolvidos e o erro sugerem algo como o seguinte:

  • Você tinha um cluster shards mongodb configurado no EC2
  • O cluster foi configurado usando endereços IP (em vez de nomes de host)
  • O banco de dados de configuração (você está executando apenas um, portanto, espero que seja apenas teste e não prod) estava em um host que foi reinicializado, seu endereço IP foi alterado quando reinicializado
  • Devido a essa alteração, você reiniciou seu mongos processo (s) e apontou-o para o novo endereço IP alterando a sequência de configuração no início
  • Você não reiniciou o restante dos processos do MongoDB
  • Assim, as outras partes do cluster ainda esperam que o servidor de configuração esteja no endereço IP antigo e estão emitindo um erro devido à incompatibilidade

Supondo que eu esteja próximo na descrição acima, a raiz do problema é duas coisas básicas:

  1. Se você mover os servidores de configuração e alterar o nome do host (no endereço IP do seu caso), precisará seguir este procedimento . Em particular, observe a etapa 5: "Encerre todos os processos existentes do MongoDB"
  2. Não use endereços IP ao configurar um conjunto ou um cluster, use nomes de host, mesmo que eles estejam apenas em /etc/hosts em vez de DNS, eles fornecem um nível de abstração que é muito útil se você estiver lidando com um ambiente em que o endereço IP é transitório e você não pode controlar o IP e a instância que recebe quando é reinicializado.

Para corrigir isso, você precisará reiniciar os processos mongod e mongos , basicamente seguindo o procedimento vinculado em 1 acima. Depois que todas as partes do cluster concordarem sobre o endereço IP (ou nome do host) do servidor de configuração, esse problema deverá resolver sozinho.

    
por Adam C 13.10.2014 / 11:25