Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Converter um mongod autônomo em um conjunto de réplicas
Uma instância standalone mongod
é útil para teste e desenvolvimento. Uma instância standalone não é uma boa opção para uma implantação de produção, pois pode ser um ponto único de falha. Um conjunto de réplicas, também conhecido como cluster, fornece redundância e disponibilidade. Sempre use uma réplica definida na produção.
Se você tiver um servidor independente com dados que deseja utilizar na produção, converta o servidor independente em um conjunto de réplica primeiro.
Importante
Se você converter um servidor de desenvolvimento em um conjunto de réplica para uso de produção, consulte a lista de verificação de segurança antes de expor seu cluster à Internet.
Antes de começar
Antes de converter sua instância standalone, considere se um conjunto de réplica ou um aglomerado compartilhado é mais apropriado para sua carga de trabalho.
Um cluster fragmentado é um tipo especial de cluster. Um cluster fragmentado oferece redundância e disponibilidade; ele também distribui dados entre os fragmentos. Os fragmentos geralmente são hospedados em vários servidores e permitem o dimensionamento horizontal.
Procedimento
Desligue a instância independente.
Use mongosh
para se conectar à sua instância mongod
.
mongosh
Alterne para o banco de dados admin
e execute shutdown
.
use admin db.adminCommand( { shutdown: 1, comment: "Convert to cluster" } )
Dê um nome ao conjunto de réplicas.
Se você configurar sua instância do mongod
a partir da linha de comando, utilize a opção --replSet
para configurar um nome para seu conjunto de réplica.
Uma invocação típica da linha de comando pode incluir:
Propósito | Opção |
---|---|
Nome do cluster | |
Detalhes da rede | |
Caminho de dados | |
Detalhes de autenticação |
Atualize o código de exemplo com as configurações para sua implantação.
mongod --replSet rs0 \ --port 27017 \ --dbpath /path/to/your/mongodb/dataDirectory \ --authenticationDatabase "admin" \ --username "adminUserName" \ --password
Se você utilizar um arquivo de configuração para iniciar o mongodb
, adicione uma seção replication
no seu arquivo de configuração. Edite o valor de replSetName
para definir o nome do seu conjunto de réplicas.
replication: replSetName: rs0
Observação
Opcional
Você pode especificar o diretório de dados, nome do conjunto de réplica e a ligação de IP no mongod.conf
arquivo de configuração, e iniciar o mongod
com o seguinte comando:
mongod --config /etc/mongod.conf
Inicialize o conjunto de réplicas.
Para inicializar o conjunto de réplica, utilize o mongosh
para reconectar à sua instância do servidor. Em seguida, execute rs.initiate()
.
rs.initiate()
Você só precisa iniciar o conjunto de réplicas uma vez.
Para visualizar a configuração do conjunto de réplica, utilize rs.conf()
.
Para verificar o status do conjunto de réplicas, use rs.status()
.
Adicione nós ao conjunto de réplicas.
O novo conjunto de réplicas tem um único nó primário. A próxima etapa é adicionar novos nós ao conjunto de réplica. Revise a documentação em clusters antes de adicionar nós adicionais:
Quando estiver pronto para adicionar nós, use rs.add()
.
Atualize a string de conexão do seu aplicativo.
Depois de converter o mongod em um conjunto de réplicas, atualize a connection string usada pelos aplicativos para a connection string do conjunto de réplicas. Em seguida, reinicie seus aplicativos.