Índice
MongoDB é um banco de dados NoSQL muito popular. Geralmente é usado para armazenar e gerenciar dados de aplicativos e informações de sites. O MongoDB apresenta um design de esquema dinâmico, fácil escalabilidade e um formato de dados que é facilmente acessível programaticamente.Veremos como configurar a replicação de dados para garantir alta disponibilidade de dados e criar um sistema de failover robusto. Isso é importante em qualquer ambiente de produção em que a queda de um banco de dados teria um impacto negativo em sua organização ou negócio.
O que é um conjunto de replicação MongoDB?
O MongoDB lida com a replicação por meio de um aplicativo chamado Conjuntos de replicação. Os conjuntos de replicação em sua forma básica são um pouco semelhantes aos nós em uma configuração mestre / escravo. Um único membro pai é usado como base para a aplicação de alterações aos membros filhos.
A diferença entre um conjunto de replicação e uma replicação mestre-escravo é que um conjunto de replicação possui um mecanismo de failover automático inerente, caso o membro primário não esteja disponível.
Membro Primário: O membro primário é o ponto de acesso padrão para transações com o conjunto de replicação. É o único membro que pode aceitar operações de gravação.
Cada conjunto de replicação pode ter apenas um membro primário por vez. Isso ocorre porque a replicação ocorre copiando o log de operações e repetindo as alterações no conjunto de dados de replicação secundário. Se vários primários aceitassem operações de gravação, isso levaria a conflitos de dados.
Membros filhos - um conjunto de replicação pode conter vários filhos. Membros filhos reproduzem as alterações do registro de operações em seus próprios dados
Embora os aplicativos, por padrão, consultem o membro primário para leitura e gravação, você pode definir suas configurações para ler de um ou mais membros secundários. Um membro secundário pode se tornar o principal se o principal se desconectar ou passar.
Para configurar a replicação, começamos adicionando o ip ao host.
nano / etc / hosts 127.0.0.1 localhost mongo0 123.456.789.111 mongo0.domain.com 123.456.789.222 mongo1.domain.com 123.456.789.333 mongo2.domain.com
Edite o arquivo / etc / hostname:
nano / etc / hostname mongo0.example.com
Agora temos que fazer para iniciar a configuração do MongoDB para que paremos o processo do MongoDB em cada servidor.
parada de serviço mongodb
Agora, precisamos configurar um diretório que será usado para armazenar nossos dados. Crie um diretório com o seguinte comando:
mkdir / mongo-metadata
Para refletir nossa nova configuração de conjunto de replicação
nano / etc / mongodb.conf dbpath = / mongo-metadata port = 27017 replSet = rs0 fork = true
Salve e feche o arquivo. Inicie o membro de replicação emitindo o seguinte comando:
mongod --config /etc/mongodb.conf
Essas etapas devem ser repetidas para cada membro do conjunto de réplicas.
Iniciar o conjunto de replicação
Agora que configurou cada membro do conjunto de replicação e iniciou o processo mongod em cada máquina, você pode iniciar a replicação e adicionar cada membro.
Em um de seus membros, escreva:
Mongo
Isso lhe dará um prompt do MongoDB para o membro atual.
Inicie o ajuste de replicação inserindo:
rs.initiate ()
Isso iniciará o conjunto de replicação e adicionará o servidor ao qual você está conectado no momento como o primeiro membro do conjunto. Isso pode ser visto digitando:
rs.conf () {"_id": "rs0" "version": 1, "members": [{"_id": 0, "host" "mongo0.example.com: 27017"}]}
Agora, você pode adicionar os nós ao conjunto de réplicas referenciando o nome do host que você deu a eles no arquivo / etc / hosts:
rs.add ("mongo1.example.com") {"Ok": 1}
Faça isso para cada um dos membros de replicação restantes. Seu conjunto de replicação agora deve estar instalado e funcionando.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo