Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Menu Docs
Página inicial do Docs
/ /

commitTransitionToDedicatedConfigServer (comando de banco de dados)

commitTransitionToDedicatedConfigServer

Compromete a transição de um servidor de configuração incorporado para um servidor de configuração dedicado .

Para executar este comando, você deve fazer a transição para um servidor de configuração dedicado com o comando startTransitionToDedicatedConfigServer. Este comando diz ao balanceador para mover partes do fragmento para outros fragmentos no cluster. Você também deve mover manualmente os bancos de dados que usam o fragmento como fragmento primário e as coleções não fragmentadas armazenadas no fragmento antes de executar o comando commitTransitionToDedicatedConfigServer.

O comando retorna ok: 0 com um erro se a transição para o servidor de configuração dedicado não for concluída ou se ela contiver um banco de dados ou uma coleção não fragmentada. Se a transição ocorrer e todos os bancos de dados e coleções não fragmentadas forem migrados para fora do fragmento, o comando retornará ok: 1.

Para iniciar a transição para um servidor de configuração dedicado, consulte o comando startTransitionToDedicatedConfigServer.

Para mostrar o status da transição de um servidor de configuração incorporado para um servidor de configuração dedicado, consulte o comando getTransitionToDedicatedConfigServerStatus.

Para interromper a transição em andamento de um servidor de configuração incorporado para um servidor de configuração dedicado stopTransitionToDedicatedConfigServer.

Novidades na versão 8.3.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • 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

Observação

Este comando não é suportado no MongoDB Atlas. Consulte Modificar seu cluster fragmentado do Atlas para drenar o servidor de configuração incorporado.

O comando tem a seguinte sintaxe:

db.adminCommand( {
commitTransitionToDedicatedConfigServer: 1
} )

Se você tiver authorization habilitado, deverá ter a função clusterManager ou qualquer função que inclua a ação removeShard .

Cada banco de dados em um cluster fragmentado tem um fragmento primário. Se o fragmento de transição também for o primário de um dos bancos de dados do cluster, você deverá mover manualmente os bancos de dados do fragmento primário para um novo fragmento depois de migrar todos os dados do fragmento.

Se houver um banco de dados que usa o fragmento que você deseja usar como primário, o comando commitTransitionToDedicatedConfigServer retornará um erro.

Para obter detalhes, consulte o comando movePrimary e Remover fragmentos de um cluster compartilhado para obter mais informações.

As coleções não fragmentadas são armazenadas em fragmentos individuais. Se uma dessas coleções estiver no fragmento em que você deseja fazer a transição do servidor de configuração incorporado para o dedicado, primeiro você deverá migrar a coleção para um fragmento diferente.

Se houver uma coleção não fragmentada armazenada no fragmento que você deseja fazer a transição do servidor de configuração incorporado para o dedicado, o comando commitTransitionToDedicatedConfigServer retornará um erro.

Para migrar uma collection não fragmentada, consulte o comando moveCollection.

Para iniciar a drenagem de um shard, use o método db.adminCommand() para executar o comando startTransitionToDedicatedConfigServer:

db.adminCommand( { startTransitionToDedicatedConfigServer: "1" } )

Para verificar o status da operação de drenagem, use o comando getTransitionToDedicatedConfigServerStatus:

db.adminCommand( { getTransitionToDedicatedConfigServerStatus: "1" } )
{
"state" : "drainingComplete",
"msg" : "draining completed successfully",
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1772142838, 176),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1772142838, 174)
}

Se a saída mostrar qualquer banco de dados no campo dbsToMove, use o comando movePrimary para movê-lo para um fragmento diferente.

Se a saída mostrar quaisquer collections não fragmentadas no campo collectionsToMove, use o comando moveCollection para movê-las para um fragmento diferente.

Quando getTransitionToDedicatedConfigServerStatus mostra { state: "completed" }, o balanceador terminou de mover chunks para fora do fragmento. Agora você pode remover o fragmento:

db.adminCommand( { commitTransitionToDedicatedConfigServer: "1" } )
{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1772142839, 19),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1772142839, 19)
}

Voltar

commitShardRemoval

Nesta página