Nesta página, mostramos como criar um serviço Metastore do Dataproc.
Depois de criar o serviço Metastore do Dataproc, é possível importar metadados e se conectar a qualquer um dos seguintes serviços:
Uma instância autogerenciada do Apache Hive, do Apache Spark ou um cluster do Presto (links em inglês).
Depois de conectar um desses serviços, ele usa o serviço Metastore do Dataproc como metastore Hive durante a execução da consulta.
Antes de começar
- Entenda as diferenças entre um serviço Metastore 1 do Dataproc e um serviço Metastore 2 do Dataproc.
- Ative o Metastore do Dataproc no seu projeto.
- Entenda os requisitos de rede específicos do seu projeto.
Papéis necessários
Para ter a permissão necessária para criar um metastore do Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto, com base no princípio de privilégio mínimo:
-
Conceder controle total dos recursos do metastore do Dataproc (
roles/metastore.editor
) -
Conceder acesso total a todos os recursos do metastore do Dataproc, incluindo a administração de políticas do IAM (
roles/metastore.admin
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esse papel predefinido contém a
permissão metastore.services.create
, que é
necessária para criar um 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 permissões e papéis específicos do metastore do Dataproc, consulte Gerenciar o acesso com o IAM.Criar metastore do Dataproc usando as configurações padrão
A criação de um metastore do Dataproc usando as configurações padrão
define seu serviço com um nível empresarial, um tamanho médio de instância,
a versão mais recente do metastore Hive, um endpoint do Thrift e um local de dados
de us-central
.
Metastore do Dataproc 2
As instruções a seguir mostram como criar um metastore do Dataproc 2 usando um endpoint do Thrift e outras configurações padrão fornecidas.
Console
No console do Google Cloud, acesse a página Metastore do Dataproc.
Na barra de navegação, clique em +Criar.
A caixa de diálogo Criar serviço de metastore é aberta.
Selecione 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.
No campo Nome do serviço, insira um nome exclusivo para o serviço.
Para mais informações sobre convenções de nomenclatura, consulte a Convenção de nomenclatura de recursos.
Selecione o Local dos dados.
Para mais informações sobre como selecionar a região apropriada, consulte Regiões e zonas disponíveis e Endpoint regional.
Para as opções de configuração de serviço restantes, use os padrões fornecidos.
Para criar e iniciar o serviço, clique em Enviar.
Seu novo serviço de metastore aparece na página Metastore do Dataproc. O status será exibido como Criando até que o serviço esteja pronto para uso. Quando ela estiver pronta, o status mudará para Ativo. O provisionamento do serviço pode levar alguns minutos.
CLI da gcloud
Para criar um serviço 2 de metastore do Dataproc Metastore 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 Metastore do Dataproc.LOCATION
: a região do Google Cloud em que você quer criar o metastore do Dataproc. Você também pode definir um local padrão.Para mais informações sobre convenções de nomenclatura, consulte a Convenção de nomenclatura de recursos.
INSTANCE_SIZE
: o tamanho da instância do metastore multirregional do Dataproc. Por exemplo,small
,medium
oularge
. Se você especificar um valor paraINSTANCE_SIZE
, não especifique um valor paraSCALING_FACTOR
.SCALING_FACTOR
: o fator de escalonamento do serviço Metastore do Dataproc. Por exemplo,0.1
. Se você especificar um valor paraSCALING_FACTOR
, não especifique um valor paraINSTANCE_SIZE
.
REST
Siga as instruções da API para criar um serviço usando o APIs Explorer.
Metastore do Dataproc 1
As instruções a seguir mostram como criar um metastore do Dataproc 1 usando um endpoint do Thrift e outras configurações padrão fornecidas.
Console
No console do Google Cloud, acesse a página Metastore do Dataproc.
Na barra de navegação, clique em +Criar.
A caixa de diálogo Criar serviço de metastore é aberta.
Selecione Dataproc Metastore 1.
No campo Nome do serviço, insira um nome exclusivo para o serviço.
Para mais informações sobre convenções de nomenclatura, consulte a Convenção de nomenclatura de recursos.
Selecione o Local dos dados.
Para mais informações sobre como selecionar a região apropriada, consulte Regiões e zonas disponíveis e Endpoint regional.
Para as opções de configuração de serviço restantes, use os padrões fornecidos.
Para criar e iniciar o serviço, clique em Enviar.
Seu novo serviço de metastore aparece na página Metastore do Dataproc. O status será exibido como Criando até que o serviço esteja pronto para uso. Quando ela estiver pronta, o status 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 Metastore do Dataproc.LOCATION
: a região do Google Cloud em que você quer criar o metastore do Dataproc. Você também pode definir um local padrão.Para mais informações sobre convenções de nomenclatura, consulte a Convenção de nomenclatura de recursos.
REST
Siga as instruções da API para criar um serviço usando o APIs Explorer.
Criar um metastore do Dataproc usando configurações avançadas
Criar um metastore do Dataproc usando as configurações avançadas mostra que você precisa modificar configurações como configurações de rede, configurações de escalonamento, configurações de endpoint, configurações de segurança e recursos opcionais.
Metastore do Dataproc 2 ou 1
As instruções a seguir mostram como criar um serviço Metastore do Dataproc 2 ou 1 usando configurações avançadas.
Console
Comece agora
No console do Google Cloud, abra a página Metastore do Dataproc:
No menu de navegação, clique em +Criar.
A caixa de diálogo Criar serviço de metastore é aberta.
Selecione a versão do metastore que você quer usar, Dataproc Metastore 1 ou Dataproc Metastore 2.
Informações do serviço
(Opcional): para Dataproc Metastore 2. Na seção Preço e capacidade, escolha um tamanho de instância.
Para mais informações, consulte planos de preços e configurações de escalonamento.
No campo Nome do serviço, insira um nome exclusivo para o serviço.
Para mais informações sobre convenções de nomenclatura, consulte a Convenção de nomenclatura de recursos.
Selecione o Local dos dados.
Para mais informações sobre como selecionar a região apropriada, consulte Regiões e zonas disponíveis e Endpoint regional.
Selecione a versão Metastore do Hive.
Se esse valor não for modificado, o serviço usará a versão compatível mais recente do Hive (versão
3.1.2
atualmente).Para mais informações sobre como selecionar a versão correta, consulte Política de versões.
Selecione o Canal de lançamento.
Se esse valor não for modificado, sua metastore usará o valor
Stable
. Para mais informações, consulte Canal de lançamento.Insira a Porta TCP.
A porta TCP à qual seu endpoint do Thrift se conecta. Se esse valor não for modificado, o número da porta
9083
será usado. Se você alterar seu endpoint para gRPC, esse valor será alterado automaticamente para443
e não poderá ser alterado.(Opcional) Para Dataproc Metastore 1. Selecione o Nível de serviço.
O nível de serviço influencia a capacidade do seu serviço. Para mais informações, consulte Nível de serviço.
Protocolo do endpoint
Opcional: escolha um protocolo de endpoint.
A opção padrão selecionada é Apache Thrift. Para mais informações sobre os diferentes endpoints, consulte Escolher o protocolo do endpoint.
Configuração de rede
Selecione uma Configuração de rede.
Por padrão, seu serviço é exposto apenas em uma rede VPC e usa a rede
default
. A rededefault
só permite que seu serviço se conecte a outros serviços no mesmo projeto.Altere as configurações de rede padrão para concluir as ações a seguir:
- Conecte o serviço Metastore do Dataproc aos serviços do Metastore do Dataproc em outros projetos.
- Use o serviço Metastore do Dataproc com outros serviços do Google Cloud, como o cluster do Dataproc.
Opcional: clique em Usar rede VPC compartilhada e insira o ID do projeto e o nome da rede VPC.
Opcional: clique em Tornar os serviços acessíveis em várias sub-redes VPC e selecione as sub-redes. Você pode especificar até cinco sub-redes.
Clique em Concluído.
Integração de metadados
Opcional: ative a sincronização do Data Catalog.
Para mais informações, consulte Sincronização do metastore do Dataproc para o Data Catalog.
Janela de manutenção
Opcional: selecione o Dia da semana e a Hora do dia para a janela de manutenção.
Para mais informações, consulte Janelas de manutenção.
Segurança
Opcional: ativar o Kerberos.
- Para ativar o Kerberos, clique no botão de alternância.
- Selecione ou insira o código do recurso secret.
- Use a versão mais recente do secret ou selecione uma mais antiga para usar.
Insira o principal do Kerberos.
Este é o principal alocado para esse serviço do Dataproc Metastore.
Navegue até o arquivo krb5 config.
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
Opcional: para aplicar um mapeamento ao metastore do Hive, clique em + Add Overrides.
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 específico de banco de dados, 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.
Seu novo serviço de metastore aparece na página Metastore do Dataproc. O status será exibido como Criando até que o serviço esteja pronto para uso. Quando ela estiver pronta, o status mudará para Ativo. O provisionamento do serviço pode levar alguns minutos.
CLI da gcloud
Para criar um 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 Metastore do Dataproc. do serviço Metastore do Dataproc. Por exemplo,0.1
. Se você especificar um valor paraSCALING_FACTOR
, não especifique um valor paraINSTANCE_SIZE
.LOCATION
: a região do Google Cloud em que você quer criar o metastore do Dataproc. Você também pode definir um local padrão.PORT
(opcional): a porta TCP usada pelo endpoint do Thrift. Se não for definido, a porta9083
será usada. Se você optar por usar um endpoint gRPC, o número da porta será alterado automaticamente para443
.TIER
: opcional para Metastore do Dataproc 1: o nível de serviço do novo serviço. Se não for definido, o valorDeveloper
será usado.ENDPOINT_PROTOCOL
: opcional: escolha o protocolo de 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 específico de banco de dados, 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 do 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 valorStable
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 seguinte formatok1=v1,k2=v2,k3=v3
.LABELS
(opcional): pares de chave-valor para adicionar metadados ao serviço. Use uma lista separada por vírgulas no seguinte formatok1=v1,k2=v2,k3=v3
. Dataproc MetastoreAUXILIARY_VERSION
(opcional): ativar 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
oularge
. Se você especificar um valor paraINSTANCE_SIZE
, não especifique um valor paraSCALING_FACTOR
.SCALING_FACTOR
: opcional para o Metastore do Dataproc 2: o fator de escalonamento do serviço Metastore do Dataproc. Por exemplo,0.1
. Se você especificar um valor paraSCALING_FACTOR
, não especifique um valor paraINSTANCE_SIZE
.
Configurações de rede:
NETWORK
: o nome da rede VPC que você está conectando ao serviço. Se não for definido, o valordefault
será usado.Se você usar uma rede VPC que pertença a um projeto diferente do seu serviço, será preciso 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. Você pode usar o ID, o URL totalmente qualificado ou o nome relativo da sub-rede. É possível especificar até cinco sub-redes.
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 da chave.
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 de warehouse do Apache Hive estiver no Cloud Storage, será necessário definir uma modificação de configuração do metastore. Essa substituição define seu data warehouse personalizado como o diretório de armazenamento padrão do serviço 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 warehouse. 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
No console do Google Cloud, abra a página Metastore do Dataproc:
Na barra de navegação, clique em +Criar.
Em Substituições de configuração do Metastore, insira os seguintes valores:
- Chave:
hive.metastore.warehouse.dir
. - Valor: o local do Cloud Storage do diretório de warehouse.
Por exemplo,
gs://my-bucket/path/to/location
.
- Chave:
Configure as opções de serviço restantes conforme necessário ou use os padrões fornecidos.
Clique em Enviar.
Volte para a página Metastore do Dataproc e verifique se o serviço foi criado com êxito.
CLI da gcloud
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 Metastore do Dataproc.LOCATION
: a região do Google Cloud em que você quer criar o metastore do Dataproc. Você também pode definir um local padrão.CUSTOMER_DIR
: o local do Cloud Storage do diretório de warehouse. Por exemplo,gs://my-bucket/path/to/location
.
Verifique se a criação foi bem-sucedida.
Criar metastore do Dataproc com escalonamento automático
O Dataproc Metastore 2 oferece suporte ao escalonamento automático. Se você ativar o escalonamento automático, será possível 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 Metastore do Dataproc de região única.
- Quando o escalonamento automático está ativado, as configurações atuais de fatores de escalonamento são apagadas.
- Quando o escalonamento automático está desativado:
- As configurações de escalonamento automático atuais foram apagadas.
- O fator de escalonamento é definido como o último
autoscaling_factor
configurado no serviço.
- Os fatores mínimo e máximo do escalonamento automático são opcionais. Se não for definido, os
valores padrão serão
0.1
e6
, respectivamente.
Escolha uma das seguintes guias para saber como criar um serviço 2 do metastore do Dataproc com escalonamento automático ativado.
Console
No console do Google Cloud, acesse a página Metastore do Dataproc.
Na barra de navegação, clique em +Criar.
A caixa de diálogo Criar serviço de metastore é aberta.
Selecione Dataproc Metastore 2.
Na seção Preço e capacidade, selecione Empresa - Região única.
Em Tamanho da instância, clique em Ativar escalonamento automático.
Em Tamanho da instância, use o controle deslizante para escolher um tamanho de instância mínimo e máximo.
Para criar e iniciar o serviço, clique em Enviar.
Seu novo serviço de metastore aparece na página Metastore do Dataproc. O status será exibido como Criando até que o serviço esteja pronto para uso. Quando ela estiver pronta, o status 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 de0.1
será usado.MAX_INSTANCES
Opcional: 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 de6
será usado.
Criar um serviço multirregional do Dataproc Metastore
Para criar um Metastore do Dataproc multirregional, consulte Configurar um serviço Metastore do Dataproc multirregional.
Criar um serviço de metastore do Dataproc usando a VPC compartilhada
Uma VPC compartilhada permite conectar recursos do 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 serviços do Dataproc Metastore configurados com o protocolo de endpoint do gRPC.
Para serviços do Dataproc Metastore configurados com o protocolo de endpoint do Thrift, verifique se o serviço do Dataproc Metastore e o cluster do Dataproc ao qual ele está anexado estão usando a mesma rede VPC compartilhada.
Para serviços do Dataproc Metastore configurados com o protocolo de endpoint do 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 Metastore do Dataproc com uma VPC acessível em uma rede pertencente a um projeto diferente, você precisa conceder roles/metastore.serviceAgent
ao agente de serviço do Metastore do Dataproc (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
) do projeto de serviço na política 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
Veja alguns problemas comuns:
Como restringir o peering de VPC. Antes de criar um 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 do metastore falhará. Para mais informações sobre como definir as configurações corretas da VPC, consulte Falha na criação do serviço devido à restrição para restringir o peering da 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.