Criar um serviço Metastore do Dataproc

Esta página mostra como criar um serviço do metastore do Dataproc.

Depois de criar o serviço do metastore do Dataproc, é possível importar metadados e se conectar a qualquer um dos seguintes serviços:

Depois de conectar um desses serviços, ele usa o serviço do Dataproc Metastore como o metastore do Hive durante a execução da consulta.

Antes de começar

Papéis necessários

Para receber a permissão necessária para criar uma Metastore do Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto, com base no princípio de privilégio mínimo:

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

Esse papel predefinido contém a permissão metastore.services.create, que é necessária para criar uma metastore do Dataproc.

Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.

Para mais informações sobre papéis e permissões específicos do Dataproc Metastore, consulte Gerenciar o acesso com o IAM.

Criar o Metastore do Dataproc usando as configurações padrão

A criação de um metastore do Dataproc usando as configurações padrão configura seu serviço com um nível empresarial, um tamanho de instância médio, a versão mais recente do metastore do Hive, um endpoint Thrift e um local de dados de us-central.

Dataproc Metastore 2

As instruções a seguir mostram como criar um metastore do Dataproc 2 usando um endpoint Thrift e outras configurações padrão fornecidas.

Console

  1. No console do Google Cloud, acesse a página Metastore do Dataproc.

    Acesse o metastore do Dataproc

  2. Na barra de navegação, clique em +Criar.

    A caixa de diálogo Create Metastore service é aberta.

  3. Selecione Dataproc Metastore 2.

  4. Na seção Preços e capacidade, escolha um tamanho de instância.

    Para mais informações, consulte planos de preços e configurações de escalonamento.

  5. No campo Nome do serviço, insira um nome exclusivo para o serviço.

    Para informações sobre as convenções de nomenclatura, consulte Convenção de nomenclatura de recursos.

  6. Selecione o Local dos dados.

    Para mais informações sobre como selecionar a região adequada, consulte Regiões e zonas disponíveis e Endpoint regional.

  7. Para as demais opções de configuração do serviço, use os padrões fornecidos.

  8. Para criar e iniciar o serviço, clique em Enviar.

    O novo serviço de metastore aparece na página Metastore do Dataproc. O status Criando é exibido até que o serviço esteja pronto para uso. Quando estiver pronto, o status vai mudar para Ativo. O provisionamento do serviço pode levar alguns minutos.

CLI da gcloud

Para criar um serviço do metastore do Dataproc 2 usando os padrões fornecidos, execute o seguinte comando gcloud metastore services create:

gcloud metastore services create SERVICE \
  --location=LOCATION \
  --instance-size=INSTANCE_SIZE \
  --scaling-factor=SCALING_FACTOR

Substitua:

  • SERVICE: o nome do novo serviço do Dataproc Metastore.
  • LOCATION: a região do Google Cloud em que você quer criar o metastore do Dataproc. Também é possível definir um local padrão.

    Para informações sobre convenções de nomenclatura, consulte Convenção de nomenclatura de recursos.

  • INSTANCE_SIZE: o tamanho da instância do metastore multirregional do Dataproc. Por exemplo, small, medium ou large. Se você especificar um valor para INSTANCE_SIZE, não especifique um valor para SCALING_FACTOR.

  • SCALING_FACTOR: o fator de escalonamento do seu serviço do metastore do Dataproc. Por exemplo, 0.1. Se você especificar um valor para SCALING_FACTOR, não especifique um valor para INSTANCE_SIZE.

REST

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

Dataproc Metastore 1

As instruções a seguir mostram como criar um metastore do Dataproc 1 usando um endpoint Thrift e outras configurações padrão fornecidas.

Console

  1. No console do Google Cloud, acesse a página Metastore do Dataproc.

    Acesse o metastore do Dataproc

  2. Na barra de navegação, clique em +Criar.

    A caixa de diálogo Criar serviço de metastore é aberta.

  3. Selecione Dataproc Metastore 1.

  4. No campo Nome do serviço, insira um nome exclusivo para o serviço.

    Para informações sobre convenções de nomenclatura, consulte Convenção de nomenclatura de recursos.

  5. Selecione o Local dos dados.

    Para mais informações sobre como selecionar a região adequada, consulte Regiões e zonas disponíveis e Endpoint regional.

  6. Para as demais opções de configuração do serviço, use os padrões fornecidos.

  7. Para criar e iniciar o serviço, clique em Enviar.

    O novo serviço de metastore aparece na página Metastore do Dataproc. O status Criando é exibido até que o serviço esteja pronto para uso. Quando estiver pronto, o status vai mudar para Ativo. O provisionamento do serviço pode levar alguns minutos.

CLI da gcloud

Para criar um serviço de metastore básico usando os padrões fornecidos, execute o seguinte comando gcloud metastore services create:

gcloud metastore services create SERVICE \
  --location=LOCATION

Substitua:

  • SERVICE: o nome do novo serviço do Dataproc Metastore.
  • LOCATION: a região do Google Cloud em que você quer criar o metastore do Dataproc. Também é possível definir um local padrão.

    Para informações sobre as convenções de nomenclatura, consulte Convenção de nomenclatura de recursos.

REST

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

Criar o Metastore do Dataproc usando configurações avançadas

A criação de um Metastore do Dataproc usando as configurações avançadas mostra que você precisa modificar configurações como configurações de rede, de escalonamento, de endpoint, de segurança e recursos opcionais.

Dataproc Metastore 2 ou 1

As instruções a seguir mostram como criar um serviço do metastore do Dataproc 2 ou do Dataproc Metastore 1 usando configurações avançadas.

Console

Primeiros passos

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

    Metastore do Dataproc aberta

  2. No menu de navegação, clique em +Criar.

    A caixa de diálogo Criar serviço de metastore é aberta.

  3. Selecione a versão do Metastore que você quer usar: Metastore do Dataproc 1 ou Metastore do Dataproc 2.

    Informações do serviço

    Criar página de serviço
    Exemplo da página Criar serviço

    1. Opcional: para o Dataproc Metastore 2. Na seção Preços e capacidade, escolha um tamanho de instância.

      Para mais informações, consulte planos de preços e configurações de escalonamento.

    2. No campo Nome do serviço, insira um nome exclusivo para o serviço.

      Para informações sobre as convenções de nomenclatura, consulte Convenção de nomenclatura de recursos.

    3. Selecione o Local dos dados.

      Para mais informações sobre como selecionar a região adequada, consulte Regiões e zonas disponíveis e Endpoint regional.

    4. Selecione a versão Metastore do Hive.

      Se esse valor não for modificado, o serviço vai usar a versão mais recente do Hive com suporte (atualmente, a versão 3.1.2).

      Para mais informações sobre como selecionar a versão correta, consulte a política de versões.

    5. Selecione o Canal de lançamento.

      Se esse valor não for modificado, a metastore vai usar o valor Stable. Para mais informações, consulte Canal de lançamento.

    6. Insira a porta TCP.

      A porta TCP à qual o endpoint Thrift se conecta. Se esse valor não for modificado, a porta número 9083 será usada. Se você mudar o endpoint para gRPC, esse valor vai mudar automaticamente para 443 e não poderá ser alterado.

    7. (Opcional) Para o Metastore do Dataproc 1. Selecione o Nível de serviço.

      O nível de serviço influencia a capacidade dele. Para mais informações, consulte Nível de serviço.

    Protocolo do endpoint

    • Opcional: escolha um protocolo de endpoint.

      A opção selecionada padrão é Apache Thrift. Para mais informações sobre os diferentes endpoints, consulte Escolher o protocolo do endpoint.

    Configuração de rede

    1. Selecione uma configuração de rede.

      Por padrão, o serviço é exposto apenas em uma rede VPC e usa a rede default. A rede default só permite que seu serviço se conecte a outros serviços no mesmo projeto.

      Mude as configurações de rede do padrão para concluir as seguintes ações:

      • Conecte seu serviço do Dataproc Metastore a serviços do Dataproc Metastore em outros projetos.
      • Use o serviço Metastore do Dataproc com outros serviços do Google Cloud, como o cluster do Dataproc.
    2. Opcional: clique em Usar rede VPC compartilhada e insira o ID do projeto e o nome da rede VPC.

    3. Opcional: clique em Fazer com que os serviços sejam acessíveis em várias sub-redes da VPC e selecione as sub-redes. É possível especificar até cinco subredes.

    4. Clique em Concluído.

    Integração de metadados

    Janela de manutenção

    • Opcional: selecione o Dia da semana e a Hora do dia na janela de manutenção.

      Para mais informações, consulte Janelas de manutenção.

    Segurança

    1. Opcional: ative o Kerberos.

      1. Para ativar o Kerberos, clique no botão de alternância.
      2. Selecione ou insira o código do recurso secret.
      3. Use a versão do secret mais recente ou selecione uma mais antiga.
      4. Insira o principal do Kerberos.

        Esse é o principal alocado para este serviço do metastore do Dataproc.

      5. Navegue até o arquivo krb5 config.

    2. Opcional: escolha um tipo de criptografia.

      • A opção selecionada padrão é Chave de criptografia gerenciada pelo Google.

      • Para selecionar uma chave gerenciada pelo cliente, clique em Usar uma chave de criptografia gerenciada pelo cliente (CMEK).

        Para mais informações, consulte Como usar chaves de criptografia gerenciadas pelo cliente.

    Substituições de configuração do metastore

    Configuração da versão auxiliar

    • Opcional: para adicionar uma configuração de versão auxiliar, clique em Ativar.

      Para mais informações, consulte Versões auxiliares.

    Tipo de banco de dados

    • Opcional: escolha um tipo de banco de dados.

      Em Tipo de banco de dados, selecione MySQL ou Spanner. O MySQL é o tipo de banco de dados padrão.

      Para mais informações sobre como escolher um tipo de banco de dados específico, consulte Tipos de banco de dados.

    Marcadores

    • Opcional: para adicionar ou remover rótulos opcionais que descrevem seus metadados, clique em + Adicionar rótulos.

Iniciar o serviço

Para criar e iniciar o serviço, clique em Enviar.

O novo serviço de metastore aparece na página Metastore do Dataproc. O status Criando é exibido até que o serviço esteja pronto para uso. Quando estiver pronto, o status vai mudar para Ativo. O provisionamento do serviço pode levar alguns minutos.

CLI da gcloud

  1. Para criar uma metastore, execute o seguinte comando gcloud metastore services create:

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --instance-size=INSTANCE_SIZE \
      --scaling-factor=SCALING_FACTOR \
      --port=PORT \
      --tier=TIER \
      --endpoint-protocol=ENDPOINT_PROTOCOL \
      --database-type=DATABASE_TYPE \
      --hive-metastore-version=HIVE_METASTORE_VERSION \
      --data-catalog-sync=DATA_CATALOG_SYNC \
      --release-channel=RELEASE_CHANNEL \
      --hive-metastore-configs=METADATA_OVERRIDE \
      --labels=LABELS \
      --auxiliary-versions=AUXILIARY_VERSION \
      --network=NETWORK \
      --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1, projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2" \
      --kerberos-principal=KERBEROS_PRINCIPAL \
      --krb5-config=KRB5_CONFIG \
      --keytab=CLOUD_SECRET \
      --encryption-kms-key=KMS_KEY

    Substitua:

    Configurações do serviço:

    • SERVICE: o nome do novo serviço do metastore do Dataproc. Por exemplo, 0.1. Se você especificar um valor para SCALING_FACTOR, não especifique um valor para INSTANCE_SIZE.
    • LOCATION: a região do Google Cloud em que você quer criar o metastore do Dataproc. Também é possível definir um local padrão.
    • PORT: opcional: a porta TCP usada pelo endpoint do Thrift. Se não for definido, a porta 9083 será usada. Se você optar por usar um endpoint gRPC, o número da porta será alterado automaticamente para 443.
    • TIER: opcional para o Dataproc Metastore 1: o nível de serviço do seu novo serviço. Se não for definido, o valor Developer será usado.
    • ENDPOINT_PROTOCOL: Opcional: escolha o protocolo do endpoint para seu serviço.
    • DATABASE_TYPE: Opcional: escolha o tipo de banco de dados para seu serviço. Para mais informações sobre como escolher um tipo de banco de dados específico, consulte Tipos de banco de dados.
    • DATA_CATALOG_SYNC: opcional: ative o recurso de sincronização do Data Catalog.
    • HIVE_METASTORE_VERSION: opcional: a versão da metastore do Hive que você quer usar com seu serviço. Por exemplo, 3.1.2. Se não for definido, a versão mais recente do Hive será usada.
    • RELEASE_CHANNEL: opcional: o canal de lançamento do serviço. Se não for definido, o valor Stable será usado.
    • METADATA_OVERRIDE: opcional: as configurações de substituição do metastore do Hive que você quer aplicar ao serviço. Use uma lista separada por vírgulas no formato k1=v1,k2=v2,k3=v3.
    • LABELS: opcional: pares de chave-valor para adicionar mais metadados ao serviço. Use uma lista separada por vírgulas no formato k1=v1,k2=v2,k3=v3. Dataproc Metastore
    • AUXILIARY_VERSION: opcional: ative versões auxiliares. Para mais informações, consulte Versões auxiliares.

    Configurações de escalonamento:

    • INSTANCE_SIZE: opcional para o Dataproc Metastore 2: o tamanho da instância do seu metastore multirregional do Dataproc. Por exemplo, small, medium ou large. Se você especificar um valor para INSTANCE_SIZE, não especifique um valor para SCALING_FACTOR.
    • SCALING_FACTOR: opcional para Dataproc Metastore 2: o fator de escalonamento do serviço do Dataproc Metastore. Por exemplo, 0.1. Se você especificar um valor para SCALING_FACTOR, não especifique um valor para INSTANCE_SIZE.

    Configurações de rede:

    • NETWORK: o nome da rede VPC que você está conectando ao serviço. Se não for definido, o valor default será usado.

      Se você usar uma rede VPC que pertence a um projeto diferente do seu serviço, será necessário fornecer todo o nome do recurso relativo. Por exemplo, projects/HOST_PROJECT/global/networks/NETWORK_ID.

    • SUBNET1, SUBNET2: opcional: uma lista de sub-redes que podem acessar seu serviço. É possível usar o ID, o URL totalmente qualificado ou o nome relativo da sub-rede. É possível especificar até cinco subredes.

    Configurações do Kerberos:

    • KERBEROS_PRINCIPAL: opcional: um princípio Kerberos que existe na guia key e no KDC. Um princípio típico é o formato "primary/instance@REALM", mas não há um formato exato.
    • KRB5_CONFIG (opcional): o arquivo krb5.config especifica as informações de domínio do KDC e do Kerberos, que incluem locais de KDCs e padrões para os aplicativos real e Kerberos.
    • CLOUD_SECRET: opcional: o nome do recurso relativo de uma versão do secret do Secret Manager.
    • KMS_KEY: opcional: refere-se ao ID do recurso chave.
  2. Verifique se a criação foi bem-sucedida.

REST

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

Definir uma substituição de configuração do metastore do Hive para o metastore do Dataproc

Se o diretório do armazenamento do Apache Hive estiver no Cloud Storage, defina uma modificação de configuração do metastore. Essa substituição define o data warehouse personalizado como o diretório de armazenamento padrão do serviço do metastore do Dataproc.

Antes de definir essa substituição, verifique se o serviço Metastore do Dataproc tem permissões de leitura e gravação de objeto para acessar o diretório do armazenamento. Saiba mais em Diretório de armazenamento do Hive.

As instruções a seguir mostram como definir uma substituição de configuração do metastore do Hive para um novo serviço do metastore do Dataproc.

Console

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

    Metastore do Dataproc aberta

  2. Na barra de navegação, clique em +Criar.

  3. Em Modificações de configuração do Metastore, insira os seguintes valores:

    • Chave: hive.metastore.warehouse.dir.
    • Valor: o local do Cloud Storage do diretório do armazém. Por exemplo, gs://my-bucket/path/to/location.
  4. Configure as outras opções de serviço conforme necessário ou use os padrões fornecidos.

  5. Clique em Enviar.

    Retorne à página Metastore do Dataproc e verifique se o serviço foi criado.

CLI da gcloud

  1. Para criar um serviço do metastore do Dataproc com uma substituição do Hive, execute o seguinte comando gcloud metastore services create:

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --hive-metastore-configs="hive.metastore.warehouse.dir=CUSTOMER_DIR"
    

    Substitua:

    • SERVICE: o nome do novo serviço do Dataproc Metastore.
    • LOCATION: a região do Google Cloud em que você quer criar o metastore do Dataproc. Também é possível definir um local padrão.
    • CUSTOMER_DIR: o local do Cloud Storage do diretório do armazém. Por exemplo, gs://my-bucket/path/to/location.
  2. Verifique se a criação foi bem-sucedida.

Criar o Metastore do Dataproc com escalonamento automático

O Dataproc Metastore 2 oferece suporte ao escalonamento automático. Se você ativar o escalonamento automático, poderá definir um fator de escalonamento mínimo e um máximo. Depois que isso for definido, o serviço aumentará ou diminuirá automaticamente o fator de escalonamento necessário para executar as cargas de trabalho.

Considerações sobre o escalonamento automático

  • O escalonamento automático e os fatores de escalonamento são opções mutuamente exclusivas. Por exemplo, se você ativar o escalonamento automático, não será possível definir manualmente um fator ou tamanho de escalonamento.
  • O escalonamento automático está disponível apenas para instâncias do Dataproc Metastore de região única.
  • Quando o escalonamento automático é ativado, as configurações de fatores de escalonamento atuais são limpas.
  • Quando o escalonamento automático está desativado:
    • As configurações de escalonamento automático atuais são apagadas.
    • O fator de escalonamento é definido como o último autoscaling_factor configurado no serviço.
  • Os fatores mínimo e máximo de escalonamento automático são opcionais. Se não forem definidos, os valores padrão serão 0.1 e 6, respectivamente.

Escolha uma das guias a seguir para saber como criar um serviço do metastore do Dataproc 2 com o escalonamento automático ativado.

Console

  1. No console do Google Cloud, acesse a página Metastore do Dataproc.

    Acesse Dataproc Metastore

  2. Na barra de navegação, clique em +Criar.

    A caixa de diálogo Create Metastore service é aberta.

  3. Selecione Dataproc Metastore 2.

  4. Na seção Preços e capacidade, selecione Enterprise: região única.

  5. Em Tamanho da instância, clique em Ativar escalonamento automático.

  6. Em Tamanho da instância, use o controle deslizante para escolher um tamanho mínimo e máximo de instância.

  7. Para criar e iniciar o serviço, clique em Enviar.

    O novo serviço de metastore aparece na página Metastore do Dataproc. O status Criando é exibido até que o serviço esteja pronto para uso. Quando estiver pronto, o status vai mudar para Ativo. O provisionamento do serviço pode levar alguns minutos.

REST

curl -X POST -s -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{"scaling_config":{"autoscaling_config":{"autoscaling_enabled": true,"limit_config":{"max_scaling_factor":MAX_SCALING_FACTOR,"min_scaling_factor": MIN_SCALING_FACTOR}}}}' \
-H "Content-Type:application/json" \
https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/services?service_id=SERVICE_ID

Substitua:

  • MIN_INSTANCES Opcional: o número mínimo de instâncias a serem usadas na configuração de escalonamento automático. Se esses valores não forem especificados, um valor padrão de 0.1 será usado.
  • MAX_INSTANCESOpcional: o número máximo de instâncias a serem usadas na configuração de escalonamento automático. Se esses valores não forem especificados, um valor padrão de 6 será usado.

Criar um serviço Metastore do Dataproc multirregional

Para criar uma Metastore multirregional do Dataproc, consulte Configurar um serviço Metastore multirregional do Dataproc.

Criar um serviço do metastore do Dataproc usando a VPC compartilhada

Com uma VPC compartilhada, você pode conectar recursos da metastore do Dataproc de vários projetos a uma rede VPC comum.

Para criar um serviço do metastore do Dataproc configurado com uma VPC compartilhada, consulte Criar um serviço usando configurações avançadas.

Considerações

  • As redes VPC não são relevantes para os serviços do metastore do Dataproc configurados com o protocolo de endpoint gRPC.

  • Para serviços do metastore do Dataproc configurados com o protocolo de endpoint Thrift, verifique se o serviço do metastore do Dataproc e o cluster do Dataproc a que ele está anexado estão usando a mesma rede VPC compartilhada.

  • Para serviços de metastore do Dataproc configurados com o protocolo de endpoint Thrift e o Private Service Connect, use sub-redes da rede VPC compartilhada.

Papéis do IAM necessários para redes VPC compartilhada

Para criar um serviço do metastore do Dataproc com uma VPC acessível em uma rede pertencente a um projeto diferente, é necessário conceder roles/metastore.serviceAgent ao agente de serviço do metastore do Dataproc (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) na política de IAM do projeto de rede.

gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
   --role "roles/metastore.serviceAgent" \
   --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"

Resolver problemas comuns

Alguns problemas comuns incluem:

  • Restringir o peering de VPC. Antes de criar uma metastore, não defina uma restrição de política da organização para restringir o peering de VPC. Caso contrário, a criação da metastore vai falhar. Para mais informações sobre como definir as configurações corretas da VPC, consulte A criação de serviços falha devido à restrição para restringir o peering de VPC.

  • Problemas com redes VPC. Ao criar um metastore, a rede VPC que você está usando pode ficar sem endereços RFC 1918 disponíveis exigidos pelos serviços do metastore do Dataproc. Para mais informações sobre como corrigir esse problema, consulte O intervalo de IP alocado está esgotado.

A seguir