// Aula 4 - Criando um Cluster Compartilhado

systemctl disable firewalld

mkdir -p /data/{cfgserver1,shard1,shard2,shard3}/data

No Mongo1:

mongod --bind_ip_all --configsvr --dbpath /data/cfgserver1/data --port 27019 --replSet MyConfigRepl

mongo localhost:27019

rs.initiate()

rs.status()['configsvr']

Agora, nas outras máquinas, se tiver:

Mongo2:
mongod --bind_ip_all --shardsvr --dbpath /data/shard1/data --port 27027

Mongo3:
mongod --bind_ip_all --shardsvr --dbpath /data/shard2/data --port 27028

Mongo4:
mongod --bind_ip_all --shardsvr --dbpath /data/shard3/data --port 27029

Mongo1
mongos --configdb MyConfigRepl/192.168.1.210:27019

Se aparecer o erro de Enderço já em uso, digite o comando a seguir e mate o mongo "original"

ps wuax | grep mongo

sudo kill 10592

Agora, num outro terminal, digite:

mongo mongodb://127.0.0.1:27017

sh.addShard('192.168.1.210:27027')

sh.addShard('192.168.1.210:27028')

sh.addShard('192.168.1.210:27029')

sh.status()

Agora, habilite o habilite o compartilhamento para um banco de dados:

sh.enableSharding('myShardedDB')

sh.shardCollection('myShardedDB.people', {language: 1})

sh.status()

Vamos adicionar algo nesse banco de dados em específico:

Abra um outro terminal do MongoDB e digite:

mongoimport -h 192.168.1.210 --port 27027 --type csv --headerline -d myShardedDB -c people mockdata.csv

Volte para o terminal que contém os Mongos e digite:

show dbs

use myShardedDB

db.people.find({ "language" : "Norwegian" }).explain()

Pronto, o seu servidor já está devidamente compartilhado!








































































