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
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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ãoserviceusage.services.enable. Saiba como conceder papéis.
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 criar um serviço e importar metadados:
- Editor do metastore do Dataproc (
roles/metastore.editor) no projeto - Administrador do metastore do Dataproc (
roles/metastore.admin) no projeto.
- Editor do metastore do Dataproc (
-
Para usar o objeto do Cloud Storage (arquivo dump SQL) para importação:
- Leitor de objetos do Storage (
roles/storage.objectViewer) no agente de serviço do metastore do Dataproc. Por exemplo,service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com. - Leitor de objetos do Storage (
roles/storage.objectViewer) na conta de usuário.
- Leitor de objetos do Storage (
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.createno projeto. -
Para importar metadados:
metastore.imports.createno projeto. -
Para usar o objeto do Cloud Storage (arquivo dump SQL) para importação:
-
storage.objects.getno agente de serviço do metastore do Dataproc. Por exemplo,service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com -
storage.objects.getna 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
No Google Cloud console, abra a página Criar serviço:
Página "Criar serviço" do metastore do Dataproc No campo Nome da conta de serviço, insira
example-service.Selecione o Local dos dados. Para informações sobre como selecionar uma região, consulte Locais do Cloud.
Para outras configurações de serviço, use os padrões fornecidos.
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.
- No Google Cloud console, acesse a página Gerenciar recursos.
- Se o projeto que você planeja excluir estiver anexado a uma organização, expanda a lista Organização na coluna Nome.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- 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:
Exclua o serviço Metastore do Dataproc.
Console
No Google Cloud console, abra a página do metastore do Dataproc:
À esquerda do nome do serviço, selecione
example-servicepara marcar a caixa.Na parte superior da página Metastore do Dataproc, clique em Excluir para excluir o serviço.
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 deletepara excluir um serviço:gcloud metastore services delete example-service \ --location=LOCATIONSubstitua
LOCATIONpela 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.
Exclua o bucket do Cloud Storage para o serviço Metastore do Dataproc.