Editado 2 Semanas atrás por ExtremeHow Equipe Editorial
ConfiguraçãoConjunto RéplicaLinuxMongoDBBanco de DadosConfiguraçãoDesenvolvimentoAlta DisponibilidadeClusterSincronização
Tradução atualizada 2 Semanas atrás
Criar um conjunto de réplicas do MongoDB é uma parte essencial para garantir alta disponibilidade e redundância de dados em suas aplicações que dependem do MongoDB. Neste guia, explicaremos em detalhes como configurar um conjunto de réplicas do MongoDB em um sistema baseado em Linux. Esta explicação abrangerá vários tópicos, incluindo a compreensão do que é um conjunto de réplicas, pré-requisitos, instalação, configuração, teste e mais. Este guia detalhado cobre tudo o que você precisa saber para configurar um conjunto de réplicas do zero em inglês simples.
Antes de se aprofundar na configuração técnica, é importante entender o que é um conjunto de réplicas do MongoDB. Um conjunto de réplicas no MongoDB é um grupo de nós de banco de dados MongoDB que mantêm o mesmo conjunto de dados, proporcionando assim redundância de dados e alta disponibilidade. Um conjunto de réplicas típico consiste em pelo menos três instâncias ou nós do MongoDB:
Os conjuntos de réplicas permitem failover contínuo, o que significa que, se o nó primário cair, um dos secundários pode ser promovido a primário, permitindo que sua aplicação continue funcionando com interrupção mínima.
Para configurar um conjunto de réplicas do MongoDB, você precisa dos seguintes pré-requisitos:
O primeiro passo é instalar o MongoDB em todas as suas máquinas Linux. Dependendo da sua distribuição Linux, os comandos de instalação podem variar.
Para Ubuntu (usando apt):
sudo apt update
sudo apt install -y mongodb
Para CentOS (usando yum):
sudo yum install -y mongodb-org
Certifique-se de que o MongoDB esteja em execução em cada máquina:
sudo systemctl start mongod
sudo systemctl enable mongod
Depois que o MongoDB estiver instalado e em execução em cada nó, você deve configurar cada instância para ser parte de um conjunto de réplicas. Edite o arquivo de configuração do MongoDB, geralmente encontrado em /etc/mongod.conf
, com seu editor de texto favorito.
Encontre a linha que começa com replication:
e defina replSetName
. Certifique-se de que o nome seja o mesmo em todos os nós do seu conjunto de réplicas. Adicione ou modifique a seção assim:
replication:
replSetName: "myReplicaSet"
Salve e feche o arquivo. Em seguida, reinicie o serviço MongoDB em todos os nós para aplicar as alterações:
sudo systemctl restart mongod
Agora que as instâncias do MongoDB estão configuradas, vá para o servidor que você deseja designar como primário.
Execute o shell do MongoDB:
mongo
No shell do MongoDB, use o seguinte comando para inicializar o conjunto de réplicas:
rs.initiate()
O comando acima inicia o conjunto de réplicas no seu servidor primário.
Uma vez que o conjunto de réplicas é inicializado, você pode adicionar outros nós (secundários e, opcionalmente, um árbitro) ao conjunto de réplicas usando o comando rs.add()
.
Por exemplo, para adicionar um nó secundário:
rs.add("hostname2:27017")
Substitua hostname2:27017
pelo endereço e porta reais do nó secundário.
Repita o processo para nós secundários adicionais, se disponíveis:
rs.add("hostname3:27017")
Se desejar adicionar um nó árbitro:
rs.addArb("hostname4:27017")
Verifique o status do conjunto de réplicas usando o seguinte comando:
rs.status()
Este comando fornecerá um relatório detalhado mostrando o status de cada nó no conjunto de réplicas. Verifique se cada nó está no estado esperado (primário, secundário, árbitro).
Uma vez que o conjunto de réplicas está configurado, é importante testar sua funcionalidade para garantir que ele se comporte corretamente durante falhas. Aqui estão alguns testes que você pode realizar:
Pare o serviço MongoDB no nó primário atual:
sudo systemctl stop mongod
Verifique o status do conjunto de réplicas em qualquer nó secundário:
mongo
Em seguida, execute dentro do shell do MongoDB:
rs.status()
Agora, um dos nós secundários deve se tornar o novo nó primário. Reinicie o MongoDB no nó primário original e verifique se ele se juntou novamente ao conjunto de réplicas como um nó secundário.
Quando o novo nó primário é selecionado, insira dados nele e verifique se esses dados são replicados nos nós secundários.
use testDB
db.testCollection.insert({"name": "Replication Test"})
Em seguida, verifique a presença dos dados em um dos nós secundários executando o seguinte:
rs.slaveOk()
db.testCollection.find()
Em cenários onde você tem um árbitro, você pode testar sua funcionalidade interrompendo intencionalmente um nó e verificando se o árbitro ajuda a eleger o novo primário.
Pare e reinicie um dos serviços MongoDB secundários:
rs.status()
Certifique-se de que seu árbitro esteja presente e desempenhe seu papel corretamente quando uma votação for necessária.
Problemas geralmente surgem devido a uma configuração de rede inadequada; certifique-se de que todos os nós possam se comunicar entre si e que todos os firewalls estejam configurados para permitir a comunicação na porta 27017 (ou qualquer porta que o MongoDB esteja configurado para usar).
Se a autenticação estiver habilitada, certifique-se de criar as funções e credenciais de usuário apropriadas que permitam que os nós do conjunto de réplicas se autentiquem uns com os outros.
Entenda como funcionam os níveis de preocupação de leitura e gravação do MongoDB para que você possa configurá-los conforme as necessidades de sua aplicação, especialmente em cenários de conjunto de réplicas.
Configurar conjuntos de réplicas do MongoDB em sistemas Linux é crucial para aplicações que exigem alta disponibilidade e confiabilidade. Seguindo este guia abrangente, você deve ser capaz de configurar conjuntos de réplicas de forma eficaz, compreendendo a importância de cada etapa. Executar um conjunto de réplicas garante que seus dados sejam replicados em vários nós, tornando seu sistema de banco de dados mais tolerante a falhas e bem equipado para lidar com as demandas de aplicações do mundo real.
Lembre-se, sempre monitore a saúde e o desempenho do seu conjunto de réplicas do MongoDB e ajuste a configuração de acordo com as necessidades crescentes da aplicação. Com a configuração e manutenção adequadas, conjuntos de réplicas do MongoDB podem fornecer uma solução robusta de banco de dados para aplicações críticas.
Se você encontrar algo errado com o conteúdo do artigo, você pode