Definição
balancerStopNovidade na versão 3.4.
Desabilita o balanceador em um cluster fragmentado. Se uma rodada de balanceamento estiver em andamento, a operação aguardará a conclusão do balanceamento.
A partir do MongoDB 4.2, o comando desabilita a divisão automática para o cluster fragmentado. Para habilitar a divisão automática quando o balanceador estiver desabilitado, você pode usar o
sh.enableAutoSplit().Você só pode emitir o
balancerStopcontra o banco de dadosadminem uma instânciamongos.Importante
Deixar o balanceador desativado por longos períodos de tempo pode levar a shards desequilibrados, que degradam o desempenho do cluster. Desative o balanceador apenas se necessário e certifique-se de reativar o balanceador quando a manutenção for concluída.
Dica
Em
mongosh, esse comando também pode ser executado por meio do método auxiliarsh.stopBalancer().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.Nas versões MongoDB anteriores a 6.1, o comando desabilita a divisão automática para o cluster fragmentado. Para habilitar a divisão automática quando o balanceador estiver desabilitado, você pode utilizar o
sh.enableAutoSplit().
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
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
Você só pode emitir o balancerStop contra o banco de dados admin em uma instância mongos .
O comando recebe o seguinte formulário:
db.adminCommand( { balancerStop: 1, maxTimeMS: <number> } )
Campo | Tipo | Descrição |
|---|---|---|
| any | Qualquer valor. |
| inteiro | Limite de tempo para desativar o balanceador. O padrão é 60.000 milissegundos. Alterado na versão 3.4: Se estiver usando o shell 3.4 |
Exemplo
Para interromper o thread do balanceador, conecte-se a uma instância mongos e emita o seguinte comando:
db.adminCommand( { balancerStop: 1 } )