Acerca da migração gerida

A migração gerida é uma funcionalidade automática que ajuda a migrar dados de um Hive Metastore autogerido para um serviço Dataproc Metastore, sem qualquer tempo de inatividade considerável (também conhecido como dia de mudança).

Arquitetura de migração gerida

O diagrama seguinte apresenta a arquitetura de alto nível de uma migração gerida.

Migração gerida do Dataproc Metastore

Fluxo de migração gerido

Para concluir uma migração gerida, o seu serviço passa por dois processos de migração: iniciar migração e concluir migração. Pode cancelar uma migração em qualquer altura com o processo de cancelamento da migração. Também pode executar vários comandos operacionais que não são necessários para concluir uma migração. Por exemplo, list migrations ou delete migrations.

À medida que o seu serviço avança neste processo, também passa por vários estados de migração e fases de migração. Estes estados e fases representam os processos que estão a ocorrer em segundo plano. Por exemplo, o estado MIGRATING indica que o seu serviço está a transferir ativamente dados da sua base de dados do Cloud SQL para o Dataproc Metastore.

Iniciar migração

  • O Dataproc Metastore estabelece uma ligação com a sua instância do Cloud SQL de IP privado. Após a ligação, o Dataproc Metastore usa a instância do Cloud SQL como base de dados de back-end do Hive Metastore (HMS). Também permanece como a fonte de verdade para os seus dados durante a migração. As leituras e as escritas de metadados continuam a ocorrer no Cloud SQL quando a migração está ativa.

  • É iniciada uma pipeline de captura de dados de alterações (CDC). Este pipeline mantém a instância do Cloud SQL no seu projeto e o Spanner no projeto gerido do Dataproc Metastore sincronizados. Isto significa que todas as alterações à base de dados do HMS na instância do Cloud SQL são captadas através do Datastream e escritas na base de dados do Dataproc Metastore Spanner.

Assim que o processo de início da migração for bem-sucedido, pode começar a encaminhar cargas de trabalho de dados para o Dataproc Metastore. Neste ponto, o Cloud SQL continua a ser a fonte de informações verdadeiras para os seus dados.

Concluir migração

Depois de concluir a movimentação das cargas de trabalho para o Dataproc Metastore, pode concluir a migração. Quando é chamado um processo de migração completa, ocorre o seguinte:

  • O Dataproc Metastore passa para um modo só de leitura até que o processo de migração completa termine.
  • A stream de CDC transfere todos os dados em trânsito para o Dataproc Metastore.
  • O Dataproc Metastore liga-se ao Spanner e desliga-se do Cloud SQL. O Dataproc Metastore atua agora como a fonte de prioritária para os seus dados do HMS.

Considerações sobre o proxy e a pipeline

Proxies

O Dataproc Metastore usa um proxy Auth do Cloud SQL encadeado a um proxy SOCKS5 para se ligar à sua instância do Cloud SQL de IP privado. Os servidores proxy SOCKS5 são expostos através de um anexo de serviço, conforme mostrado no diagrama de arquitetura anterior.

  • Cada migração requer uma sub-rede NAT dedicada. Isto deve-se ao facto de uma sub-rede NAT não poder ter mais do que uma associação de serviço.

  • Para evitar problemas de latência entre regiões, forneça sub-redes que estejam na mesma região que a sua instância do Cloud SQL para alojar o proxy SOCKS5. Por exemplo, proxy_subnet e nat_subnet.

Altere o pipeline de captura de dados

O pipeline de captura de dados de alterações usa o intercâmbio da VPC para estabelecer uma ligação entre o Datastream e o IP privado do Cloud SQL

  • Para cada migração, é criada uma nova ligação privada e estabelecida uma nova ligação de peering.

  • A rede VPC que aloja a instância do Cloud SQL tem tantas associações de peering quantas migrações ativas. Certifique-se de que a sua rede de VPC tem capacidade para alojar todas as ligações de peering necessárias.

O que se segue?