Como redefinir as configurações do conjunto de réplicas do MongoDB

16

Quero começar de novo pelas configurações da réplica, é possível? Como redefini-lo?

No grupo, as pessoas dizem para remover o conteúdo do banco de dados, mas há alguma solução?

Ryan
fonte

Respostas:

19

Se você deseja manter os dados, mas iniciar fora de um conjunto de réplicas, basta reiniciar o processo mongod sem a --replSete em uma porta diferente. Isso lhe dará um mongod independente.

Para ter certeza absoluta de que a configuração do conjunto de réplicas saiu da instância, verifique se a local.system.replsetcoleção está vazia.

Feito isso, e você --replSetficará satisfeito com sua instância independente, poderá reiniciar com um argumento diferente e passar pelo processo de configuração do conjunto de réplicas novamente:

http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

A outra opção, como você mencionou, é remover todos os arquivos de dados e iniciar completamente do zero.

Adam C
fonte
// inicia o servidor em uma porta diferente da atribuída, mas com a mesma pasta Db. conectar via cliente mongoi à nova porta: use db.system.replset.remove local ({"_ id": "replset"}) // alterar o replset entre aspas para o seu nome? db.system.replset.find () db.adminCommand ({desligamento: 1}) // depois reiniciar na outra porta
tgkprog
5

Você não precisa remover nenhum arquivo de banco de dados para redefinir a configuração do seu conjunto de réplicas.

Para redefinir a configuração, verifique se todos os nós no seu conjunto de réplicas estão parados. Em seguida, exclua o banco de dados "local" para cada nó.

Quando você tiver certeza de que todos os nós não estão em execução e o banco de dados "local" desaparecer, inicie o processo mongod novamente (é claro, usando o sinalizador --replSet). Em seguida, execute rs.initiate ().

akskung
fonte
4
  1. Vá para o mongo shell em servidores secundários

  2. Pare os servidores secundários usando o comando abaixo:

    use admin
    db.shutdownServer()
    
  3. acesse o shell mongo primário e digite os comandos abaixo:

    rs.remove()
    

    para verificar o status, use rs.status()

Para obter mais informações, consulte o link abaixo: http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html

Shrinivas Kalangutkar
fonte
1
  1. editar /etc/mongod.confe comentarreplication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. no mongo primary: rs.add("this node")
  6. editar /etc/mongod.confe descomentar oreplication: block
  7. service mongod restart

Seu nó será adicionado ao conjunto de réplicas existente e começará a sincronizar com o primário primário existente.

blueheart_2
fonte