Não é possível definir a réplica definida usando o MongoDB 3

4

Estou tentando criar um conjunto de réplicas no MongoDB versão 3.04. Eu segui este tutorial e obtive o próximo erro ao tentar adicionar nós usando o servidor principal:

vacrep:PRIMARY> rs.add('server address here')
{
    "ok" : 0,
    "errmsg" : "Quorum check failed because not enough voting nodes responded;
     required 2 but only the following 1 voting nodes responded: PRIMARYSERVER:27017; 
     the following nodes did not respond affirmatively: 'server address here':27017 
     failed with Missing credentials for authenticating as internal user",
     "code" : 74
}

Foi o que foi feito até agora:

  1. Instale 3 servidores com o MongoDB 3.04
  2. Executa todas as instâncias do MongoDB com o modo repSet
  3. Conectividade confirmada entre servidores usando esta abordagem
  4. Iniciar uma réplica no servidor principal)

Encontrei alguns tópicos sobre esse erro, mas não consegui encontrar uma solução em nenhum deles. Como posso resolver isso?

    
por Ofir 20.07.2015 / 12:24

2 respostas

3

Encontrou a solução - Foi uma questão de permissão.

No arquivo de configuração do MongoDB, eu tive que desativar o modo de autenticação ou criar uma chave compartilhada entre todos os nós usando este guia:

link

Essa foi a razão pela qual meus servidores não conseguiam se comunicar.

    
por 24.07.2015 / 13:03
0

Além da resposta acima, que obviamente está correta, as etapas a seguir serão úteis na criação dos keyFiles:

  1. Abra uma nova guia em qualquer editor de texto, cole qualquer chave aleatória desejada sem espaços.
  2. Salve o arquivo sem extensão
  3. Desligue a instância de cada mongo da seguinte forma:

    a. use admin

    b. db.shutdownServer();

  4. Agora reinicie as instâncias do mongo com keyFile como argumento.

    por exemplo. start "jaguar" mongod --dbpath "D:\Mongo\data\Replica Sets\Jaguar" --port 50000 --replSet "clusterset" --keyFile "D:\Mongo\data\Replica Sets\Jaguar\Key\F2AB9B2DCF7933733A35EE9C81C34"

por 28.11.2016 / 11:18