Converter um conjunto de réplicas em um cluster fragmentado com um servidor de configuração incorporado
Nesta página
A partir do MongoDB,8.0 você pode configurar um servidor de configuração de configuração para armazenar os dados do aplicação , além dos metadadoscluster fragmentado . Um servidor de configuração que armazena dados de aplicação é chamado de shard de configuração ou servidor de configuração incorporado.
Converter seu conjunto de réplicas em um cluster fragmentado com um servidor de configuração incorporado pode reduzir:
O número de nós necessários em seu sistema.
complexidade para manter clusters de um fragmento.
Sobre esta tarefa
Você não pode converter diretamente um conjunto de réplicas em um shard de configuração. Para converter um conjunto de réplicas em um servidor de configuração incorporado, você deve:
Converta seu conjunto de réplicas em um cluster fragmentado com um servidor de configuração dedicado.
Configure o servidor de configuração dedicado para ser executado como um shard de configuração usando o
transitionFromDedicatedConfigServer
comando.O comando
transitionFromDedicatedConfigServer
adiciona o servidor de configuração como um shard no cluster.
Reduza o número de fragmentos em seu cluster após adicionar o fragmento de configuração.
Controle de acesso
Se o controle de acesso estiver habilitado, o transitionFromDedicatedConfigServer
comando exigirá a transitionFromDedicatedConfigServer
ação de autorização para o cluster.
A função tem clusterManager
a transitionFromDedicatedConfigServer
ação de autorização e pode ser atribuída a um usuário.
Passos
O exemplo a seguir converte um conjunto de réplicas autogerenciado em um fragmento de configuração que contém dados de usuário pré-existentes do conjunto de réplicas.
Converta seu conjunto de réplicas em um cluster fragmentado com um servidor de configuração dedicado
Este tutorial pressupõe que você saiba como converter seu conjunto de réplicas cluster fragmentado. Para obter instruções completas, consulte Converter um conjunto de réplicas autogerenciadas em um cluster fragmentado.
Execute o transitionFromDedicatedConfigServer
comando
Para configurar seu servidor de configuração dedicado para ser executado como um shard de configuração, execute o comando transitionFromDedicatedConfigServer
do banco de banco de dados admin:
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )
Verifique se o servidor de configuração agora é um fragmento de configuração
Para confirmar que um cluster fragmentado usa um shard de configuração, execute o comando listShards
no admin
banco de dados de dados enquanto estiver conectado a um e inspecione a saída de um documento em mongos
que _id
esteja definido como "config"
. Se a listShards
saída não contiver um documento em que _id
esteja definido como "config"
, o cluster não usará um fragmento de configuração.
O exemplo a seguir executa o comando listShards
e tenta localizar um documento em que _id
está definido como "config"
.
db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")
Neste exemplo, o documento retornado tem _id
definido como "config"
, o que confirma que esse cluster usa um shard de configuração.
{ _id: "config", host: "configRepl/localhost:27018", state: 1, topologyTime: Timestamp({ t: 1732218671, i: 13 }), replSetConfigVersion: Long('-1') }
Observação
Se o balanceador estiver em execução, ele migrará automaticamente os dados entre os fragmentos. Caso contrário, utilize os moveCollection
comandos ou para distribuir manualmente seus dados.moveChunk
Reduza o número de fragmentos no seu cluster para um
Para reduzir o cluster a um único fragmento após adicionar o fragmento de configuração, mova todas as coleções não fragmentadas para o fragmento de configuração usando o moveCollection
comando e remova o primeiro fragmento no cluster com o removeShard
comando. Esta etapa reduz seu cluster a um único fragmento de configuração.
Para obter instruções completas sobre como remover fragmentos em seu cluster, consulte Remover fragmentos de um cluster fragmentado.