addShard
Definição
addShard
Adiciona um conjunto de réplicas fragmentadas em umcluster fragmentado .
Dica
Em
mongosh
, esse comando também pode ser executado por meio do método auxiliarsh.addShard()
.Os métodos auxiliares são práticos para os usuários
mongosh
, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em instâncias sem servidor. Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { addShard: "<replica_set>/<hostname><:port>", maxSize: <size>, name: "<shard_name>" } )
Campos de comando
O comando contém os seguintes campos:
Campo | Tipo | Descrição | |
---|---|---|---|
addShard | string | O nome do conjunto de réplicas, nome do host e porta de pelo menos um membro do conjunto de réplicas do shard. Quaisquer nomes de host do membro do conjunto de réplicas adicionais devem ser separados por vírgula. Por exemplo:
| |
maxSize | inteiro | Opcional. O tamanho máximo em megabytes do shard. Se você definir maxSize como 0 , o MongoDB não limitará o tamanho do shard. | |
name | string | Opcional. Um nome para o fragmento. Se isso não for especificado, o MongoDB fornecerá automaticamente um nome exclusivo. |
O comando addShard
armazena informações de configuração de shard no banco de dados de configuração de dados de configuração. Execute sempre addShard
ao utilizar o banco de banco de dados do admin
.
Especifique um maxSize
quando você tiver máquinas com capacidades de disco diferentes ou se você quiser limitar a quantidade de dados em alguns fragmentos. A restrição maxSize
impede que o balanceador migre parte para o fragmento quando o totalSize
retornado da execução de listDatabases
no fragmento excede o valor de maxSize
.
Considerações
Equilíbrio
Quando você adiciona um shard a um cluster fragmentado, afeta o equilíbrio de blocos entre os shards de um cluster para todas as coleções fragmentadas existentes. O balancer começará a migrar blocos para que o cluster atinja o equilíbrio. Consulte Internais do Balancer para mais informações.
As migrações de chunks podem ter um impacto no espaço em disco, pois o shard de origem arquiva automaticamente os documentos migrados por padrão. Para detalhes, consulte o diretório moveChunk
.
membro oculto
Importante
Não é possível incluir um membro oculto na lista de sementes fornecida a addShard
.
Exemplos
O seguinte comando adiciona um conjunto de réplicas como um fragmento:
use admin db.runCommand( { addShard: "repl0/mongodb3.example.net:27327"} )
Aviso
Não use localhost
para o nome do host, a menos que seu servidor de configuração também esteja sendo executado em localhost
.