Sobre a migração gerenciada

A migração gerenciada é um recurso automatizado que ajuda a migrar dados de um metastore autogerenciado do Hive para um serviço de metastore do Dataproc sem tempo de inatividade significativo (também conhecido como flag day).

Arquitetura de migração gerenciada

O diagrama a seguir mostra a arquitetura de alto nível de uma migração gerenciada.

Migração gerenciada do Dataproc Metastore

Fluxo de migração gerenciada

Para concluir uma migração gerenciada, seu serviço passa por dois processos de migração: iniciar a migração e concluir a migração. É possível cancelar uma migração a qualquer momento com o processo de cancelamento de migração. Há também vários comandos operacionais que podem ser executados, que não são necessários para concluir uma migração. Por exemplo, list migrations ou delete migrations.

À medida que seu serviço avança nesse processo, ele também passa por vários estados de migração e fases de migração. Esses estados e fases representam os processos que estão ocorrendo em segundo plano. Por exemplo, o estado MIGRATING indica que o serviço está transferindo dados ativamente do banco de dados do Cloud SQL para o metastore do Dataproc.

Iniciar migração

  • O Dataproc Metastore estabelece uma conexão com sua instância do Cloud SQL de IP privado. Depois que a conexão é feita, o Dataproc Metastore usa a instância do Cloud SQL como o banco de dados de back-end do metastore do Hive (HMS). Ela também permanece como a fonte de dados durante a migração. As leituras e gravações de metadados ainda ocorrem no Cloud SQL quando a migração está ativa.

  • Um pipeline de captura de dados alterados (CDC) é iniciado. Esse pipeline mantém a instância do Cloud SQL no seu projeto e o Spanner no projeto gerenciado do Dataproc Metastore sincronizados. Isso significa que todas as mudanças no banco de dados do HMS na instância do Cloud SQL são capturadas pelo Datastream e gravadas no banco de dados do Dataproc Metastore Spanner.

Depois que o processo de início da migração for concluído, você poderá rotear cargas de trabalho de dados para o metastore do Dataproc. Nesse ponto, o Cloud SQL ainda é a fonte de verdade dos seus dados.

Concluir a migração

Depois de mover as cargas de trabalho para o Metastore do Dataproc, você pode concluir a migração. Quando um processo de migração completa é chamado, o seguinte ocorre:

  • O Dataproc Metastore passa para o modo somente leitura até que o processo de migração completa seja concluído.
  • O stream do CDC transfere todos os dados em andamento para o Dataproc Metastore.
  • O Dataproc Metastore se conecta ao Spanner e se desconecta do Cloud SQL. O Metastore do Dataproc agora atua como a fonte de verdade dos seus dados do HMS.

Considerações sobre proxy e pipeline

Proxies

O Dataproc Metastore usa um proxy de autenticação do Cloud SQL anexado a um proxy SOCKS5 para se conectar à instância do Cloud SQL de IP particular. Os servidores proxy SOCKS5 são expostos por meio de um anexo de serviço, conforme mostrado no diagrama de arquitetura anterior.

  • Cada migração requer uma sub-rede NAT dedicada. Isso ocorre porque uma sub-rede NAT não pode ter mais de um anexo de serviço.

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

Mudar o pipeline de captura de dados

O pipeline de captura de dados alterados usa o peering de VPC para estabelecer uma conexão entre o Datastream e o Cloud SQL de IP privado.

  • Para cada migração, uma nova conexão particular é criada e uma nova conexão de pareamento é estabelecida.

  • A rede VPC que hospeda a instância do Cloud SQL tem tantas conexões de peering quanto migrações ativas. Verifique se a rede VPC tem capacidade para hospedar todas as conexões de peering necessárias.

A seguir