JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como configurar um conjunto de réplicas do MongoDB no Linux

Editado 2 Semanas atrás por ExtremeHow Equipe Editorial

ConfiguraçãoConjunto RéplicaLinuxMongoDBBanco de DadosConfiguraçãoDesenvolvimentoAlta DisponibilidadeClusterSincronização

Como configurar um conjunto de réplicas do MongoDB no Linux

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.

Compreendendo os conjuntos de réplicas do MongoDB

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.

Pré-requisitos

Para configurar um conjunto de réplicas do MongoDB, você precisa dos seguintes pré-requisitos:

Guia passo a passo para configurar o conjunto de réplicas do MongoDB

1. Instale o MongoDB em todos os nós

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

2. Configure cada instância do MongoDB

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

3. Inicialize o conjunto de réplicas

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.

4. Adicione outros nós ao conjunto de réplicas

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")

5. Verifique o status do conjunto de réplicas

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).

Testando a configuração do conjunto de réplicas

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:

Teste 1: Eleições Primárias

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.

Teste 2: Consistência de Dados

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()

Teste 3: Funcionalidade do Árbitro

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.

Resolvendo problemas comuns

Configuração de rede

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).

Controle de acesso

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.

Preocupações de leitura e gravação

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.

Conclusão

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


Comentários