Migre um metastore do MySQL autogerido para o Dataproc Metastore

Esta página mostra como migrar o metastore MySQL autogerido externo para o Dataproc Metastore criando um ficheiro de despejo do MySQL e importando os metadados para um serviço Dataproc Metastore existente.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Enable the Dataproc Metastore API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Funções necessárias

Para receber as autorizações de que precisa para criar um Dataproc Metastore e importar um metastore do MYSQL, peça ao seu administrador para lhe conceder as seguintes funções do IAM:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para criar um Dataproc Metastore e importar um metastore do MYSQL. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para criar um Dataproc Metastore e importar um metastore do MYSQL:

  • Para criar um serviço: metastore.services.create no projeto.
  • Para importar metadados: metastore.imports.create no projeto.
  • Para usar o objeto do Cloud Storage (ficheiro de captura SQL) para importação:
    • storage.objects.get no agente de serviço de Metastore do Dataproc. Por exemplo, service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
    • storage.objects.get na conta do utilizador.

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Para mais informações sobre as funções e as autorizações específicas do Dataproc Metastore, consulte o artigo Faça a gestão do acesso ao Dataproc com a IAM.

Crie um serviço Dataproc Metastore

As instruções seguintes demonstram como criar um serviço Dataproc Metastore para o qual pode migrar o seu ficheiro de despejo de SQL.

Consola

  1. Na Google Cloud consola, abra a página Criar serviço:

    Aceda a Criar serviço

    A página Criar serviço.
    A página de criação do serviço do Dataproc Metastore
  2. No campo Nome do serviço, introduza example-service.

  3. Selecione a Localização dos dados. Para obter informações sobre como selecionar uma região, consulte o artigo Localizações na nuvem.

  4. Para outras opções de configuração do serviço, use as predefinições fornecidas.

  5. Para criar e iniciar o serviço, clique no botão Enviar.

O novo serviço é apresentado na lista de serviços.

gcloud

Execute o seguinte comando gcloud metastore services create para criar um serviço:

 gcloud metastore services create example-service \
     --location=LOCATION
 

Substitua LOCATION pela região do Compute Engine onde planeia criar o serviço. Certifique-se de que o Dataproc Metastore está disponível na região.

REST

Siga as instruções da API para criar um serviço através do API Explorer.

Prepare-se para a migração

Agora, tem de preparar os metadados armazenados na base de dados do metastore do Hive para importação criando um ficheiro de despejo do MySQL e colocando-o num contentor do Cloud Storage.

Consulte o artigo Prepare os ficheiros de importação antes da importação para ver os passos de preparação para a migração.

Importe os metadados

Agora que preparou o ficheiro de despejo, importe-o para o serviço Dataproc Metastore.

Consulte o artigo Importe os ficheiros para o Dataproc Metastore para ver os passos de importação dos metadados para o seu serviço example-service.

Crie e anexe um cluster do Dataproc

Depois de importar os metadados para o serviço example-service do Dataproc Metastore, crie e anexe um cluster do Dataproc que usa o serviço como o respetivo metastore do Hive.

Limpar

Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Em alternativa, pode eliminar os recursos usados neste tutorial:

  1. Elimine o serviço Dataproc Metastore.

    Consola

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

      Abra o Dataproc Metastore na Google Cloud consola

    2. À esquerda do nome do serviço, selecione example-service selecionando a caixa.

    3. Na parte superior da página Dataproc Metastore, clique em Eliminar para eliminar o serviço.

    4. Na caixa de diálogo, clique em Eliminar para confirmar a eliminação.

    O seu serviço já não aparece na lista de serviços.

    gcloud

    Execute o seguinte comando gcloud metastore services delete para eliminar um serviço:

     gcloud metastore services delete example-service \
         --location=LOCATION

    Substitua LOCATION pela região do Compute Engine onde criou o serviço.

    REST

    Siga as instruções da API para eliminar um serviço através do API Explorer.

    Todas as eliminações são bem-sucedidas imediatamente.

  2. Elimine o contentor do Cloud Storage para o serviço Dataproc Metastore.

O que se segue?