Migre dados da API do Azure Cosmos DB para MongoDB para o ApsaraDB for MongoDB com as ferramentas nativas mongodump e mongorestore.
Precauções
Esta é uma migração completa. Interrompa todas as operações de gravação no banco de dados source antes de iniciar.
Se você já usou
mongodumppara fazer backup do banco de dados, mova os arquivos de backup da pasta padrãodump. Caso contrário, os arquivos existentes nessa pasta serão sobrescritos.Execute os comandos
mongodumpemongorestoreno servidor onde o MongoDB está instalado, não no shell do mongo.
Permissões necessárias
|
Tipo de instância |
Permissão da conta |
|
Azure Cosmos DB |
read |
|
Instância MongoDB de destino |
readWrite |
Pré-requisitos
-
Crie uma instância do ApsaraDB for MongoDB. Criar uma instância.
NotaA instância de destino deve ter mais armazenamento que os dados do Azure Cosmos DB source.
Selecione a versão 4.0 ou posterior do MongoDB.
Defina uma senha para a instância do ApsaraDB for MongoDB. Definir uma senha.
-
Instale o MongoDB em um servidor. Instalar o MongoDB.
NotaInstale o MongoDB 3.0 ou posterior.
Este servidor atua como host temporário. Desative-o após a migração.
A partição do diretório de backup deve ter mais espaço em disco disponível que os dados do Azure Cosmos DB source.
As etapas a seguir usam um servidor Linux como exemplo.
Procedimento
Faça logon no portal do Azure.
No painel de navegação à esquerda, clique em Azure Cosmos DB.
Na página Azure Cosmos DB, clique em na conta a migrar.
Na página de detalhes da conta, clique em Connection String.
-
Clique em na aba Read-only Keys.
Figura 1. Informações de conexão do Azure. Os campos incluem HOST (
xxx.documents.azure.cn), PORT (10255), USERNAME, PRIMARY PASSWORD, SECONDARY PASSWORD, PRIMARY CONNECTION STRING, SECONDARY CONNECTION STRING e SSL (true). Use apenas HOST, USERNAME e PRIMARY PASSWORD.NotaPermissões de somente leitura são suficientes para esta migração.
-
No servidor Linux, execute o comando a seguir para fazer backup do banco de dados source.
mongodump --host <HOST>:10255 --authenticationDatabase admin -u <USERNAME> -p <PRIMARY PASSWORD> --ssl --sslAllowInvalidCertificatesNotaSubstitua
<HOST>,<USERNAME>e<PRIMARY PASSWORD>pelos valores das Informações de conexão do Azure.Aguarde a conclusão do backup. Os dados ficam salvos na pasta
dumpdo diretório atual. Obtenha o endpoint do nó primário da instância do ApsaraDB for MongoDB. Visão geral da conexão da instância.
-
No servidor Linux, execute o comando a seguir para restaurar os dados na instância do ApsaraDB for MongoDB.
mongorestore --host <mongodb_host>:3717 --authenticationDatabase admin -u <username> -p <password> dumpNota<mongodb_host>: endpoint do nó primário da instância de destino.
<username>: nome de usuário do banco de dados da instância de destino.
<password>: senha do banco de dados da instância de destino.
Aguarde a conclusão da restauração.