Sobre a migração gerenciada

A migração gerenciada é um recurso automatizado que ajuda você a migrar dados de uma Hive metastore autogerenciado para um serviço do Dataproc Metastore, sem qualquer tempo de inatividade considerável (também conhecido como dia de sinalização).

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 gerenciado

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árias para concluir a migração. Por exemplo, list migrations ou delete migrations.

À medida que seu serviço avança nesse processo, ele também se move entre 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 for estabelecida, O metastore do Dataproc usa a instância do Cloud SQL Banco de dados de back-end do Hive Metastore (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 alterações no banco de dados HMS na instância do Cloud SQL sejam capturadas pelo Datastream e gravados no Banco de dados do Spanner do Dataproc Metastore.

Quando o processo inicial de migração for concluído, você poderá iniciar o roteamento de dados para o metastore do Dataproc. Nesse ponto, o Cloud SQL ainda é a fonte de verdade dos seus dados.

Concluir migração

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

  • O Dataproc Metastore entra no 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 metastore do Dataproc 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.

Pipeline de captura de dados alterados

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

  • 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