fragmento
Sharding é um método para armazenar dados em várias máquinas. O MongoDB usa fragmentação para dar suporte a implantações com conjuntos de dados muito grandes e operações de alto rendimento.
servidor de configuração
Uma instância mongod que armazena todos os metadados associados a um cluster fragmentado. Um cluster fragmentado de produção requer três servidores de configuração, cada um em uma máquina separada.
Roteadores de consulta
mongos
instância de fragmento
estrutura de porta
Shard Server 1:27020 Shard Server 2:27021 Config Server :27100 Route Process:40000
passo 1
inicie o servidor shard um por um
mongod --port 27020 --dbpath=/www/mongoDB/shard/s0 --logpath=/www/mongoDB/shard/log/s0.log --logappend
mongod --port 27021 --dbpath=/www/mongoDB/shard/s0 --logpath=/www/mongoDB/shard/log/s0.log --logappend
passo 2
iniciar servidor de configuração
mongod --port 27100 --dbpath=/www/mongoDB/shard/config --logpath=/www/mongoDB/shard/log/config.log --logappend
não há necessidade de adicionar os parâmetros —shardsvr e –configsvr,
apontamos uma porta para nós mesmos;
etapa 3
iniciar um processo de rota
mongod --port 40000 --configdb localhost:27100 --logpath=/www/mongoDB/shard/log/route.log --chunkSize 500
chunkSize -> padrão 200 MB
etapa 4 (fragmentação de configuração)
* use shell para conectar mongos *
mongo admin --port 40000 MongoDB shell version: 3.0.2 connecting to: 127.0.0.1:40000/admin
mongos>
mongos> db.runCommand({ addshard:"localhost:27020" }) { "shardAdded" : "shard0000", "ok" : 1 }
outro
mongos> db.runCommand({ addshard:"localhost:27021" }) { "shardAdded" : "shard0000", "ok" : 1 }
definir uma instância de banco de dados que você deseja fragmentar
mongos> db.runCommand({ enablesharding:"test" })
{ "ok" : 1 }
qual banco de dados deve ser fragmentado
mongos> db.runCommand({ shardcollection: "test.log", key: { id:1,time:1}})
passo 5
use mongodb como antes