Migrar um metastore MySQL autogerenciado para o metastore do Dataproc

Nesta página, você aprenderá como migrar seu metastore MySQL autogerenciado externo para o metastore do Dataproc. Para isso, crie um arquivo dump MySQL e importe os metadados para um serviço existente do metastore do Dataproc.

Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você não conhece o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  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 role (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 role (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. Ative a Dataproc Metastore API.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

Papéis necessários

Para receber as permissões necessárias para criar um metastore do Dataproc e importar um metastore MySQL, peça ao administrador para conceder a você os seguintes papéis do IAM:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para criar um metastore do Dataproc e importar um metastore MySQL. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para criar um metastore do Dataproc e importar um metastore 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 (arquivo dump SQL) para importação:
    • storage.objects.get no agente de serviço do metastore do Dataproc. Por exemplo, service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
    • storage.objects.get na conta de usuário.

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para mais informações sobre papéis e permissões específicos do metastore do Dataproc, consulte Gerenciar o acesso do Serviço Gerenciado para Apache Spark com o IAM.

Criar um serviço Metastore do Dataproc

Nas instruções a seguir, demonstramos como criar um serviço do metastore do Dataproc para o qual você pode migrar o arquivo dump SQL.

Console

  1. No Google Cloud console, abra a página Criar serviço:

    Acessar "Criar serviço"

    A página "Criar serviço".
    Página "Criar serviço" do metastore do Dataproc
  2. No campo Nome da conta de serviço, insira example-service.

  3. Selecione o Local dos dados. Para informações sobre como selecionar uma região, consulte Locais do Cloud.

  4. Para outras configurações de serviço, use os padrões fornecidos.

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

Seu novo serviço aparecerá na lista Service.

gcloud

Execute o comando gcloud metastore services create a seguir para criar uma identidade de serviço:

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

Substitua LOCATION pela região do Compute Engine em que você planeja criar o serviço. Verifique se o Metastore do Dataproc está disponível na região.

REST

Siga as instruções da API para criar um serviço usando a API Explorer.

Preparar para a migração

Prepare os metadados armazenados no banco de dados do metastore do Hive para importação. Para isso, crie um arquivo dump MySQL e coloque-o em um bucket do Cloud Storage.

Consulte Preparar os arquivos de importação antes da importação para conferir as etapas de preparação para a migração.

Importar os metadados

Agora que você preparou o arquivo dump, importe-o para o serviço Metastore do Dataproc.

Consulte Importar os arquivos para o metastore do Dataproc para conferir as etapas de importação de metadados para seu serviço example-service.

Criar e anexar um cluster do Serviço Gerenciado para Apache Spark

Depois de importar os metadados para o serviço example-service do metastore do Dataproc, crie e anexe um cluster do Serviço Gerenciado para Apache Spark que use o serviço como o metastore Hive.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

  1. No Google Cloud console, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Se o projeto que você planeja excluir estiver anexado a uma organização, expanda a lista Organização na coluna Nome.
  3. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  4. Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.

Como alternativa, é possível excluir os recursos usados neste tutorial:

  1. Exclua o serviço Metastore do Dataproc.

    Console

    1. No Google Cloud console, abra a página do metastore do Dataproc:

      Abrir o metastore do Dataproc no Google Cloud console

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

    3. Na parte superior da página Metastore do Dataproc, clique em Excluir para excluir o serviço.

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

    Seu serviço não aparece mais na lista de serviços.

    gcloud

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

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

    Substitua LOCATION pela região do Compute Engine em que você criou o serviço.

    REST

    Siga as instruções da API para excluir um serviço usando a API Explorer.

    Todas as exclusões foram feitas imediatamente.

  2. Exclua o bucket do Cloud Storage para o serviço Metastore do Dataproc.

A seguir