Esta página mostra como criar um serviço do Dataproc Metastore.
Depois de criar o serviço Dataproc Metastore, pode importar metadados e estabelecer ligação a qualquer um dos seguintes serviços:
Uma instância do Apache Hive autogerida, uma instância do Apache Spark ou um cluster do Presto.
Depois de associar um destes serviços, este usa o seu serviço Dataproc Metastore como Hive metastore durante a execução de consultas.
Antes de começar
- Compreenda as diferenças entre um serviço do Dataproc Metastore 1 e um serviço do Dataproc Metastore 2.
- Ative o Dataproc Metastore no seu projeto.
- Compreenda os requisitos de rede específicos do seu projeto.
Funções necessárias
Para receber a autorização de que precisa para criar um Dataproc Metastore, peça ao seu administrador que lhe conceda as seguintes funções de IAM no seu projeto, com base no princípio do menor privilégio:
-
Conceda controlo total dos recursos do Dataproc Metastore (
roles/metastore.editor
) -
Conceda acesso total a todos os recursos de Metastore do Dataproc, incluindo a administração de políticas de IAM (
roles/metastore.admin
)
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.
Esta função predefinida contém a autorização
metastore.services.create
, que é necessária para
criar um Dataproc Metastore.
Também pode obter esta autorização 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 com o IAM.Crie um Dataproc Metastore com as predefinições
A criação de um Dataproc Metastore com as predefinições
configura o seu serviço com um nível empresarial, um tamanho de instância médio,
a versão mais recente do Hive Metastore, um ponto final Thrift e uma localização de dados
de us-central1
.
Dataproc Metastore 2
As instruções seguintes mostram como criar um Dataproc Metastore 2 usando um ponto final Thrift e outras predefinições fornecidas.
Consola
Na Google Cloud consola, aceda à página Dataproc Metastore.
Na barra de navegação, clique em +Criar.
É apresentada a caixa de diálogo Criar serviço Metastore.
Selecione Dataproc Metastore 2.
Na secção Preços e capacidade, escolha um tamanho da instância.
Para mais informações, consulte os planos de preços e as configurações de escalabilidade.
No campo Nome do serviço, introduza um nome exclusivo para o seu serviço.
Para obter informações sobre convenções de nomenclatura, consulte o artigo Convenção de nomenclatura de recursos.
Selecione a Localização dos dados.
Para mais informações sobre como selecionar a região adequada, consulte Regiões e zonas disponíveis e Ponto final regional.
Para as restantes opções de configuração do serviço, use as predefinições fornecidas.
Para criar e iniciar o serviço, clique em Enviar.
O novo serviço de metastore é apresentado na página Dataproc Metastore. O estado apresenta Creating (A criar) até o serviço estar pronto para utilização. Quando estiver pronto, o estado muda para Ativo. O aprovisionamento do serviço pode demorar alguns minutos.
CLI gcloud
Para criar um serviço de metastore do Dataproc Metastore 2 com os valores predefinidos 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 o seguinte:
SERVICE
: o nome do novo serviço do Dataproc Metastore.LOCATION
: a região Google Cloud na qual quer criar o Dataproc Metastore. Também pode definir uma localização predefinida.Para obter informações sobre convenções de nomenclatura, consulte o artigo Convenção de nomenclatura de recursos.
INSTANCE_SIZE
: o tamanho da instância do seu Dataproc Metastore multirregional. Por exemplo,small
,medium
oularge
. Se especificar um valor paraINSTANCE_SIZE
, não especifique um valor paraSCALING_FACTOR
.SCALING_FACTOR
: o fator de dimensionamento do seu serviço Dataproc Metastore. Por exemplo,0.1
. Se especificar um valor paraSCALING_FACTOR
, não especifique um valor paraINSTANCE_SIZE
.
REST
Siga as instruções da API para criar um serviço através do APIs Explorer.
Dataproc Metastore 1
As instruções seguintes mostram como criar um Dataproc Metastore 1 usando um ponto final Thrift e outras predefinições fornecidas.
Consola
Na Google Cloud consola, aceda à página Dataproc Metastore.
Na barra de navegação, clique em +Criar.
É apresentada a caixa de diálogo Criar serviço Metastore.
Selecione Dataproc Metastore 1.
No campo Nome do serviço, introduza um nome exclusivo para o seu serviço.
Para obter informações sobre convenções de nomenclatura, consulte o artigo Convenção de nomenclatura de recursos.
Selecione a Localização dos dados.
Para mais informações sobre como selecionar a região adequada, consulte Regiões e zonas disponíveis e Ponto final regional.
Para as restantes opções de configuração do serviço, use as predefinições fornecidas.
Para criar e iniciar o serviço, clique em Enviar.
O novo serviço de metastore é apresentado na página Dataproc Metastore. O estado apresenta Creating (A criar) até o serviço estar pronto para utilização. Quando estiver pronto, o estado muda para Ativo. O aprovisionamento do serviço pode demorar alguns minutos.
CLI gcloud
Para criar um serviço de metastore básico com as predefinições fornecidas,
execute o seguinte comando gcloud metastore services create
:
gcloud metastore services create SERVICE \ --location=LOCATION
Substitua o seguinte:
SERVICE
: o nome do novo serviço do Dataproc Metastore.LOCATION
: a região Google Cloud na qual quer criar o Dataproc Metastore. Também pode definir uma localização predefinida.Para obter informações sobre convenções de nomenclatura, consulte o artigo Convenção de nomenclatura de recursos.
REST
Siga as instruções da API para criar um serviço através do APIs Explorer.
Crie um Dataproc Metastore com definições avançadas
A criação de um Dataproc Metastore através das definições avançadas mostra-lhe como modificar configurações, como configurações de rede, definições de dimensionamento, definições de pontos finais, definições de segurança e funcionalidades opcionais.
Dataproc Metastore 2 ou 1
As instruções seguintes mostram como criar um serviço Dataproc Metastore 2 ou um serviço Dataproc Metastore 1 através de definições avançadas.
Consola
Comece a usar
Na Google Cloud consola, abra a página Dataproc Metastore:
No menu de navegação, clique em +Criar.
É apresentada a caixa de diálogo Criar serviço Metastore.
Selecione a versão do Metastore que quer usar: Dataproc Metastore 1 ou Dataproc Metastore 2.
Informações do serviço
Exemplo da página create service (Opcional): para o Dataproc Metastore 2. Na secção Preços e capacidade, escolha um tamanho da instância.
Para mais informações, consulte os planos de preços e as configurações de escalabilidade.
No campo Nome do serviço, introduza um nome exclusivo para o seu serviço.
Para obter informações sobre convenções de nomenclatura, consulte o artigo Convenção de nomenclatura de recursos.
Selecione a Localização dos dados.
Para mais informações sobre como selecionar a região adequada, consulte Regiões e zonas disponíveis e Ponto final regional.
Selecione a versão do metastore do Hive.
Se este valor não for modificado, o seu serviço usa a versão suportada mais recente do Hive (atualmente, a versão
3.1.2
).Para mais informações sobre a seleção da versão correta, consulte a Política de Versões.
Selecione o canal de lançamento.
Se este valor não for modificado, o metastore usa o valor
Stable
. Para mais informações, consulte o artigo Canal de lançamento.Introduza a Porta TCP.
A porta TCP à qual o seu ponto final Thrift se liga. Se este valor não for modificado, é usado o número da porta
9083
. Se alterar o seu endpoint para gRPC, este valor é automaticamente alterado para443
e não pode ser alterado.(Opcional) Para o 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 o Nível de serviço.
Protocolo de ponto final
Opcional: escolha um protocolo de ponto final.
A opção selecionada predefinida é Apache Thrift. Para mais informações acerca dos diferentes pontos finais, consulte o artigo Escolha o protocolo de ponto final.
Configuração de rede
Selecione uma Configuração de rede.
Por predefinição, o seu serviço só é exposto numa rede VPC e usa a rede
default
. A rededefault
só permite que o seu serviço se ligue a outros serviços no mesmo projeto.Altere as definições de rede das predefinições para concluir as seguintes ações:
- Associe o seu serviço de Metastore do Dataproc a serviços de Metastore do Dataproc noutros projetos.
- Use o serviço Dataproc Metastore com outros Google Cloud serviços, como o cluster do Dataproc.
Opcional: clique em Usar rede VPC partilhada e introduza o ID do projeto e o nome da rede VPC.
Opcional: clique em Tornar os serviços acessíveis em várias sub-redes de VPC e selecione as sub-redes. Pode especificar até cinco sub-redes.
Clique em Concluído.
Integração de metadados
Opcional: ative a sincronização do catálogo de dados.
Para mais informações, consulte o artigo Sincronização do Dataproc Metastore com o Data Catalog.
Período de manutenção
Opcional: selecione o Dia da semana e a Hora do dia para o seu período de manutenção.
Para mais informações, consulte o artigo Janelas de manutenção.
Segurança
Opcional: ative o Kerberos.
- Para ativar o Kerberos, clique no botão ativar/desativar.
- Selecione ou introduza o ID do recurso do Secret.
- Pode optar por usar a versão mais recente do segredo ou selecionar uma versão mais antiga para usar.
Introduza o principal do Kerberos.
Este é o principal atribuído a este serviço de Metastore do Dataproc.
Procure o ficheiro de configuração krb5.
Opcional: escolha um tipo de encriptação.
A opção selecionada predefinida é Google-managed encryption key.
Para selecionar uma chave gerida pelo cliente, clique em Usar uma chave de encriptação gerida pelo cliente (CMEK).
Para mais informações, consulte o artigo Usar chaves de encriptação geridas pelo cliente.
Substituições da configuração do metastore
Opcional: para aplicar um mapeamento ao Hive Metastore, clique em + Adicionar substituições.
Auxiliary version config
Opcional: para adicionar uma configuração de versão auxiliar, clique em Ativar.
Para mais informações, consulte o artigo Versões auxiliares.
Tipo de base de dados
Opcional: escolha um tipo de base de dados.
Em Tipo de base de dados, selecione MySQL ou Spanner. O MySQL é o tipo de base de dados predefinido.
Para mais informações sobre a escolha de um tipo de base de dados específico, consulte Tipos de bases de dados.
Marcadores
- Opcional: para adicionar ou remover etiquetas opcionais que descrevem os seus metadados, clique em + Adicionar etiquetas.
Inicie o serviço
Para criar e iniciar o serviço, clique em Enviar.
O novo serviço de metastore é apresentado na página Dataproc Metastore. O estado apresenta Creating (A criar) até o serviço estar pronto para utilização. Quando estiver pronto, o estado muda para Ativo. O aprovisionamento do serviço pode demorar alguns minutos.
CLI 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 o seguinte:
Definições do serviço:
SERVICE
: o nome do novo serviço do Dataproc Metastore.LOCATION
: a região Google Cloud na qual quer criar o Dataproc Metastore. Também pode definir uma localização predefinida.PORT
: Opcional: a porta TCP que o seu ponto final do Thrift usa. Se não estiver definida, é usada a porta9083
. Se optar por usar um ponto final gRPC, o número da porta é automaticamente alterado para443
.TIER
: opcional para o Dataproc Metastore 1: O nível de serviço do seu novo serviço. Se não for definido, é usado o valorDeveloper
.ENDPOINT_PROTOCOL
: Opcional: escolha o protocolo do ponto final para o seu serviço.DATABASE_TYPE
: Opcional: escolha o tipo de base de dados para o seu serviço. Para mais informações sobre a escolha de um tipo de base de dados específico, consulte Tipos de bases de dados.DATA_CATALOG_SYNC
: Opcional: ative a funcionalidade de sincronização do catálogo de dados.HIVE_METASTORE_VERSION
: opcional: a versão do Hive metastore que quer usar com o seu serviço. Por exemplo,3.1.2
. Se não estiver definida, é usada a versão mais recente do Hive.RELEASE_CHANNEL
: Opcional: o canal de lançamento do serviço. Se não for definido, é usado o valorStable
.METADATA_OVERRIDE
: opcional: as configurações de substituição da metastore do Hive que quer aplicar ao seu 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 adicionais ao seu serviço. Use uma lista separada por vírgulas no seguinte formatok1=v1,k2=v2,k3=v3
. Dataproc MetastoreAUXILIARY_VERSION
: opcional: ative as versões auxiliares. Para mais informações, consulte o artigo Versões auxiliares.
Definições de dimensionamento:
INSTANCE_SIZE
: opcional para o Dataproc Metastore 2: o tamanho da instância do seu Dataproc Metastore multirregional. Por exemplo,small
,medium
oularge
. Se especificar um valor paraINSTANCE_SIZE
, não especifique um valor paraSCALING_FACTOR
.SCALING_FACTOR
: opcional para o Dataproc Metastore 2: o fator de escalabilidade do seu serviço Dataproc Metastore. Por exemplo,0.1
. Se especificar um valor paraSCALING_FACTOR
, não especifique um valor paraINSTANCE_SIZE
Definições de rede:
NETWORK
: o nome da rede VPC à qual se está a ligar ao seu serviço. Se não for definido, é usado o valordefault
.Se usar uma rede VPC pertencente a um projeto diferente do seu serviço, tem de indicar o nome do recurso relativo completo. Por exemplo,
projects/HOST_PROJECT/global/networks/NETWORK_ID
.SUBNET1
,SUBNET2
: Opcional: uma lista de sub-redes que podem aceder ao seu serviço. Pode usar o ID, o URL totalmente qualificado ou o nome relativo da sub-rede. Pode especificar até 5 sub-redes.
Definições Kerberos:
KERBEROS_PRINCIPAL
: Opcional: um principal do Kerberos que existe no keytab e no KDC. Um principal típico tem o formato "primary/instance@REALM", mas não existe um formato exato.KRB5_CONFIG
: Opcional: o ficheiro krb5.config especifica o KDC e as informações do domínio do Kerberos, que incluem localizações de KDCs e predefinições para o domínio e as aplicações do 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 principal.
Verifique se a criação foi bem-sucedida.
REST
Siga as instruções da API para criar um serviço através do APIs Explorer.
Defina uma substituição da configuração do metastore do Hive para o Dataproc Metastore
Se o diretório do seu armazém do Apache Hive estiver no Cloud Storage, deve definir uma substituição da configuração do metastore. Esta substituição define o seu data warehouse personalizado como o diretório do warehouse predefinido para o serviço Dataproc Metastore.
Antes de definir esta substituição, certifique-se de que o serviço Dataproc Metastore tem autorizações de leitura e escrita de objetos para aceder ao diretório do armazém. Para mais informações, consulte o artigo Diretório do armazém de dados do Hive.
As instruções seguintes mostram como definir uma substituição da configuração do Hive Metastore para um novo serviço do Dataproc Metastore.
Consola
Na Google Cloud consola, abra a página Dataproc Metastore:
Na barra de navegação, clique em +Criar.
Nas Substituições da configuração do metastore, introduza os seguintes valores:
- Chave:
hive.metastore.warehouse.dir
. - Valor: a localização do Cloud Storage do diretório do armazém.
Por exemplo:
gs://my-bucket/path/to/location
.
- Chave:
Configure as restantes opções de serviço conforme necessário ou use as predefinições fornecidas.
Clique em Enviar.
Regresse à página Dataproc Metastore e verifique se o serviço foi criado com êxito.
CLI gcloud
Para criar um serviço Dataproc Metastore 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 o seguinte:
SERVICE
: o nome do novo serviço do Dataproc Metastore.LOCATION
: a região Google Cloud na qual quer criar o Dataproc Metastore. Também pode definir uma localização predefinida.CUSTOMER_DIR
: a localização do Cloud Storage do diretório do armazém. Por exemplo:gs://my-bucket/path/to/location
.
Verifique se a criação foi bem-sucedida.
Crie um Dataproc Metastore com o redimensionamento automático
O Dataproc Metastore 2 suporta o dimensionamento automático. Se ativar o ajuste de escala automático, pode definir um fator de ajuste de escala mínimo e um fator de ajuste de escala máximo. Depois de definir este valor, o serviço aumenta ou diminui automaticamente o fator de escalabilidade necessário para executar as cargas de trabalho.
Considerações sobre a escala automática
- O ajuste automático e os fatores de escalabilidade são opções mutuamente exclusivas. Por exemplo, se ativar o ajuste de escala automático, não pode definir manualmente um fator de ajuste de escala nem um tamanho.
- A escala automática só está disponível para instâncias do Dataproc Metastore de região única.
- Quando o ajuste de escala automático está ativado, as definições de fatores de escalabilidade existentes são limpas.
- Quando o ajuste de escala automático está desativado:
- As definições de dimensionamento automático existentes são limpas.
- O fator de dimensionamento é definido como o último
autoscaling_factor
que foi configurado no serviço.
- Os fatores de dimensionamento automático mínimo e máximo são opcionais. Se não estiverem definidos, os valores predefinidos são
0.1
e6
, respetivamente.
Escolha um dos seguintes separadores para saber como criar um serviço Dataproc Metastore 2 com o dimensionamento automático ativado.
Consola
Na Google Cloud consola, aceda à página Dataproc Metastore.
Na barra de navegação, clique em +Criar.
É apresentada a caixa de diálogo Criar serviço Metastore.
Selecione Dataproc Metastore 2.
Na secção Preços e capacidade, selecione Enterprise – Região única
Em Tamanho da instância, clique em Ativar dimensionamento automático.
Em Tamanho da instância, use o controlo de deslize para escolher um tamanho mínimo e máximo da instância.
Para criar e iniciar o serviço, clique em Enviar.
O novo serviço de metastore é apresentado na página Dataproc Metastore. O estado apresenta Creating (A criar) até o serviço estar pronto para utilização. Quando estiver pronto, o estado muda para Ativo. O aprovisionamento do serviço pode demorar 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 o seguinte:
MIN_INSTANCES
Opcional: o número mínimo de instâncias a usar na configuração da escala automática. Se estes valores não forem especificados, é usado um valor predefinido de0.1
.MAX_INSTANCES
Opcional: o número máximo de instâncias a usar na configuração do ajuste de escala automático. Se estes valores não forem especificados, é usado um valor predefinido de6
.
Crie um serviço de Metastore do Dataproc multirregional
Para criar um Metastore do Dataproc multirregional, consulte o artigo Configure um serviço de Metastore do Dataproc multirregional.
Crie um serviço de Metastore do Dataproc com a VPC partilhada
Uma VPC partilhada permite-lhe ligar recursos do Dataproc Metastore de vários projetos a uma rede VPC comum.
Para criar um serviço Dataproc Metastore configurado com uma VPC partilhada, consulte o artigo Crie um serviço com definições avançadas.
Considerações
As redes VPC não são relevantes para os serviços Dataproc Metastore configurados com o protocolo de ponto final gRPC.
Para os serviços do Dataproc Metastore configurados com o protocolo do ponto final Thrift, certifique-se de que o serviço do Dataproc Metastore e o cluster do Dataproc ao qual está associado estão a usar a mesma rede de VPC partilhada.
Para serviços do Dataproc Metastore configurados com o protocolo do endpoint Thrift e o Private Service Connect, certifique-se de que usa sub-redes da rede VPC partilhada.
Funções de IAM necessárias para redes de VPC partilhada
Para criar um serviço Dataproc Metastore com uma VPC acessível
numa rede pertencente a um projeto diferente,
tem de conceder roles/metastore.serviceAgent
ao agente de serviço
Dataproc Metastore
(service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
)
do projeto de serviço 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"
Resolva problemas comuns
Seguem-se alguns problemas comuns:
Restringir o intercâmbio da VPC. Antes de criar um metastore, não defina uma restrição de política da organização para restringir a interligação de VPCs. Caso contrário, a criação do metastore falha. Para mais informações sobre como definir as configurações de VPC corretas, consulte o artigo A criação do serviço falha devido à restrição para restringir o peering de VPC.
Problemas com redes de VPC. Ao criar um metastore, a rede VPC que está a usar pode ficar sem endereços RFC 1918 disponíveis necessários pelos serviços do Dataproc Metastore. Para mais informações sobre como corrigir este problema, consulte o artigo O intervalo de IPs atribuído está esgotado.