Use a migração gerida com um serviço Dataproc Metastore

Esta página mostra como iniciar e gerir uma migração gerida do Dataproc Metastore.

Pode configurar uma migração através das APIs Dataproc Metastore.

Antes de começar

Iniciar migração

Quando executa uma migração de início, o Dataproc Metastore liga-se ao Cloud SQL e usa o Cloud SQL como base de dados de back-end. Durante este processo, o Dataproc Metastore executa um pipeline que copia dados do Cloud SQL para a sua própria base de dados (Spanner).

O Dataproc Metastore continua a usar o Cloud SQL como back-end e replica os dados até que o processo de migração completa seja chamado.

Antes de iniciar uma migração, certifique-se de que configurou os pré-requisitos da migração gerida.

Considerações sobre o início da migração

  • Um serviço do Dataproc Metastore só pode executar uma única migração de cada vez.

  • Uma migração permanece ativa até concluir o processo de migração. Não existe um prazo para concluir a migração. Por exemplo, a migração pode demorar 1 dia, 30 dias ou 1 ano.

  • As cópias de segurança agendadas não são restritas durante uma migração. No entanto, a cópia de segurança pode estar incompleta. Para evitar problemas, desative todas as cópias de segurança agendadas enquanto a migração estiver em curso.

Uma migração de início aciona as seguintes alterações de estado:

  • O Metastore do Dataproc passa para o estado MIGRATING.
  • O estado de execução da migração passa para RUNNING.
  • A fase de execução da migração passa para REPLICATION.

Consola

Comece a usar

  1. Na Google Cloud consola, abra a página Dataproc Metastore:

    Aceda ao Dataproc Metastore

  2. Na página Dataproc Metastore, clique no nome do serviço para o qual quer migrar.

    É apresentada a página Detalhes do serviço.

  3. Na parte superior da página, clique em Migrar dados.

    A página Criar migração abre o separador Conetividade e apresenta as definições de configuração da base de dados do Cloud SQL para o Dataproc Metastore.

Configuração da base de dados do Cloud SQL para o DPMS

  1. No Nome de ligação da instância, introduza o nome de ligação da instância da base de dados do Cloud SQL no seguinte formato: project_id:region:instance_name.

  2. No campo Endereço IP, introduza o endereço IP necessário para estabelecer ligação à instância do Cloud SQL.

  3. No campo Porta, introduza 3306.

  4. No nome da base de dados Hive, introduza o nome da base de dados que está a ser usada como back-end do Hive Metastore autogerido.

  5. No campo Nome de utilizador, introduza o nome de utilizador que usa para ligar o Cloud SQL ao Hive Metastore.

  6. No campo Palavra-passe, introduza a palavra-passe que usa para ligar o Cloud SQL ao Hive Metastore.

Serviço de proxy SOCKS5

  1. No campo Sub-rede do proxy, introduza uma sub-rede do tipo normal. A sub-rede deve estar presente na rede VPC do Cloud SQL. Esta sub-rede é usada para implementar o serviço de proxy SOCKS5 intermédio

  2. No campo Sub-rede NAT, introduza uma sub-rede do tipo Private Service Connect. Esta sub-rede deve estar presente na rede VPC do Cloud SQL e é usada para publicar o serviço de proxy SOCKS5 através do Private Service Connect.

  3. Clique em Continuar.

    O separador Captura de dados de alterações (CDC) é aberto e apresenta as definições de configuração da base de dados do Cloud SQL para o Datastream.

Configuração da base de dados do Cloud SQL para a stream de dados

  1. No campo Nome de utilizador, introduza o nome de utilizador que usa para iniciar sessão no CDC do Cloud SQL usado pelo Datastream.

  2. No campo Palavra-passe, introduza a palavra-passe que usa para iniciar sessão no CDC do Cloud SQL usado pelo Datastream.

  3. No campo Rede VPC, introduza a rede na mesma rede VPC que a instância do Cloud SQL usada pelo Datastream para estabelecer uma ligação privada ao CDC.

  4. No campo Intervalo de IPs da sub-rede, introduza um intervalo de IPs da sub-rede de, pelo menos, /29. O fluxo de dados usa este IP para estabelecer a interligação com a rede VPC.

  5. No campo Sub-rede do proxy inverso, introduza a sub-rede que criou na mesma rede de VPC que o Cloud SQL. O fluxo de dados usa esta sub-rede. A sub-rede é usada para alojar uma ligação de proxy inverso para o CDC do fluxo de dados. A sub-rede tem de ser configurada na mesma região que o serviço Dataproc Metastore.

Configuração do GCS

  1. Para o ID do contentor, selecione o caminho do Cloud Storage para armazenar dados de CDC durante a migração.

  2. No campo Caminho raiz, introduza o caminho raiz no contentor do Cloud Storage. Os dados de eventos de streaming são escritos neste caminho.

  3. Clique em Criar.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d \
  '{
    "migration_execution": {
      "cloud_sql_migration_config": {
        "cloud_sql_connection_config": {
          "instance_connection_name": INSTANCE_CONNECTION_NAME,
          "hive_database_name": "HIVE_DATABASE_NAME",
          "ip_address": "IP_ADDRESS",
          "port": 3306,
          "username": "CONNECTION_USERNAME",
          "password": "CONNECTION_PASSWORD",
          "proxy_subnet": "PROXY_SUBNET",
          "nat_subnet": "NAT_SUBNET"
        },
        "cdc_config": {
          "username": "CDC_USENAME",
          "password": "CDC_PASSWORD",
          "vpc_network": "VPC_NETWORK",
          "subnet_ip_range": "SUBNET_IP_RANGE",
          "reverse_proxy_subnet": "REVERSE_PROXY_SUBNET_ID",
          "bucket": "BUCKET_NAME",
          "root_path": "ROOT_PATH",
        }
      }
    }
}' \
  https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:startMigration

Substitua o seguinte:

  • SERVICE: o nome ou o ID do seu serviço de Dataproc Metastore.
  • PROJECT_ID: o ID do projeto do Google Cloud projeto no qual o seu serviço Dataproc Metastore reside.
  • LOCATION: a região em que o seu serviço de Dataproc Metastore reside. Google Cloud

Configuração da migração do Cloud SQL

  • INSTANCE_CONNECTION_NAME: o nome da ligação da instância para a base de dados do Cloud SQL, no seguinte formato: PROJECT_ID/LOCATION/CLOUDSQL_INSTANCE_ID.
  • HIVE_DATABASE_NAME: o nome da base de dados do Hive autogerida associada ao Cloud SQL.
  • IP_ADDRESS: o endereço IP necessário para estabelecer ligação à instância do Cloud SQL.
  • CONNECTION_USERNAME: o nome de utilizador que usa para ligar o Cloud SQL ao Hive Metastore.
  • CONNECTION_PASSWORD a palavra-passe que usa para ligar o Cloud SQL ao Hive Metastore
  • PROXY_SUBNET: a sub-rede usada na rede VPC do Cloud SQL. Esta sub-rede aloja um proxy intermédio para fornecer conectividade em redes transitivas.
  • NAT_SUBNET: uma sub-rede do Private Service Connect que fornece uma ligação do serviço Dataproc Metastore para aceder ao proxy intermédio. O tamanho da sub-rede deve ter um comprimento do prefixo de, pelo menos, /29 e estar no intervalo IPv4.

Configuração do CDC

  • CDC_USERNAME: o nome de utilizador que o serviço Datastream usa para iniciar sessão no Cloud SQL.
  • CDC_PASSWORD: a palavra-passe que o serviço Datastream usa para iniciar sessão no Cloud SQL.
  • VPC_NETWORK: uma rede na mesma rede VPC que a instância do Cloud SQL usada pelo Datastream para estabelecer uma ligação privada ao CDC.
  • SUBNET_IP_RANGE: Um intervalo de IP de sub-rede de, pelo menos, /29 usado pelo Datastream para estabelecer a interligação com a rede VPC.
  • REVERSE_PROXY_SUBNET_ID: uma sub-rede na mesma rede VPC que a instância do Cloud SQL usada pelo Datastream. A sub-rede é usada para alojar uma ligação de proxy inverso para o CDC do fluxo de dados. A sub-rede tem de ser configurada na mesma região que o serviço Dataproc Metastore.
  • BUCKET_NAME: o caminho do Cloud Storage para armazenar dados de CDC durante a migração.
  • ROOT_PATH: o caminho raiz no contentor do Cloud Storage. Os dados de eventos de streaming são escritos neste caminho.

Concluir migração

Quando conclui uma migração, o Dataproc Metastore liga-se ao Spanner e começa a usar o Spanner como base de dados de back-end.

Uma migração completa aciona as seguintes alterações de estado:

  • O Dataproc Metastore volta ao estado ACTIVE.
  • O estado de execução da migração passa para SUCCEEDED.

Consola

  1. Na Google Cloud consola, abra a página Dataproc Metastore.

  2. Na parte superior da página, clique em Migrar dados.

    A página Migrar dados é aberta e apresenta as migrações geridas concluídas.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d '' \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:completeMigration

Substitua o seguinte:

  • SERVICE: o nome ou o ID do seu serviço de Dataproc Metastore.
  • PROJECT_ID: o ID do projeto do Google Cloud projeto no qual o seu serviço Dataproc Metastore reside.
  • LOCATION: a região em que o seu serviço de Dataproc Metastore reside. Google Cloud

Cancelar migração

Quando cancela uma migração, o Dataproc Metastore reverte todas as alterações e começa a usar o tipo de base de dados do Spanner como base de dados de back-end. Todos os dados transferidos durante a migração são eliminados.

O cancelamento de uma migração aciona as seguintes alterações de estado:

  • O Dataproc Metastore volta ao estado ACTIVE.
  • O estado de execução da migração passa para CANCELLED.

Consola

  1. Na Google Cloud consola, abra a página Dataproc Metastore.

  2. Na parte superior da página, clique em Migrar dados.

    A página Migrar dados é aberta e apresenta as migrações geridas canceladas.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type:application/json" \
  -X POST -d '' \
    https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE:cancelMigration

Substitua o seguinte:

  • SERVICE_NAME: o nome ou o ID do seu serviço de Dataproc Metastore.
  • PROJECT_ID: o ID do projeto do Google Cloud projeto no qual o seu serviço Dataproc Metastore reside.
  • LOCATION: a região em que o seu serviço de Dataproc Metastore reside. Google Cloud

Obtenha detalhes da migração

Obtenha detalhes sobre uma única migração gerida.

Consola

  1. Na Google Cloud consola, abra a página Dataproc Metastore.

  2. Na parte superior da página, clique em Migrar dados.

    A página Migrar dados é aberta e apresenta as suas migrações geridas.

    Para ver mais detalhes da migração, clique no nome de uma migração gerida.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -X GET \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

Substitua o seguinte:

  • SERVICE: o nome ou o ID do seu serviço de Dataproc Metastore.
  • PROJECT_ID: o ID do projeto do Google Cloud projeto no qual o seu serviço Dataproc Metastore reside.
  • LOCATION: a região em que o seu serviço de Dataproc Metastore reside. Google Cloud
  • MIGRATION_ID: o nome ou o ID da sua migração do Dataproc Metastore.

Apresentar migrações

Liste as migrações geridas.

Consola

  1. Na Google Cloud consola, abra a página Dataproc Metastore.

  2. Na parte superior da página, clique em Migrar dados.

    A página Migrar dados é aberta e apresenta as suas migrações geridas.

  3. Verifique se o comando listou as migrações.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -X GET \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

Substitua o seguinte:

  • SERVICE: o nome ou o ID do seu serviço de Dataproc Metastore.
  • PROJECT_ID: o ID do projeto do Google Cloud projeto no qual o seu serviço Dataproc Metastore reside.
  • LOCATION: a região em que o seu serviço de Dataproc Metastore reside. Google Cloud

Elimine migrações

Elimine migrações geridas.

Consola

  1. Na Google Cloud consola, abra a página Dataproc Metastore.

  2. Na parte superior da página, clique em Migrar dados.

    A página Migrar dados é aberta e apresenta as suas migrações geridas.

  3. Selecione a migração e clique em Eliminar.

REST

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -X DELETE \
    https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE/migrationExecutions/MIGRATION_ID

Substitua o seguinte:

  • SERVICE: o nome ou o ID do seu serviço de Dataproc Metastore.
  • PROJECT_ID: o ID do projeto do Google Cloud projeto no qual o seu serviço Dataproc Metastore reside.
  • LOCATION: a região em que o seu serviço de Dataproc Metastore reside. Google Cloud
  • MIGRATION_ID: o nome ou o ID da migração do Dataproc Metastore.

O que se segue?