Depois de criar um serviço Metastore do Dataproc, você pode anexar qualquer um seguintes serviços:
- Um cluster do Dataproc
- Uma instância autogerenciada do Apache Hive uma instância do Apache Spark ou um cluster do Presto.
Depois que você conecta um desses serviços, ele usa seus Serviço do metastore do Dataproc como seu metastore Hive durante a execução da consulta.
Antes de começar
- Ative o metastore do Dataproc no seu projeto.
- Crie um serviço Metastore do Dataproc.
- Compreenda os requisitos de rede específicos do seu projeto.
Papéis necessários
Para ter as permissões necessárias para criar um metastore do Dataproc e um cluster do Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para conceder controle total dos recursos do metastore do Dataproc, faça o seguinte:
-
Editor do metastore do Dataproc (
roles/metastore.editor
) na conta de usuário ou de serviço -
Administrador do metastore do Dataproc (
roles/metastore.admin
) na conta de usuário ou de serviço
-
Editor do metastore do Dataproc (
-
Para criar um cluster do Dataproc:
(
roles/dataproc.worker
) na conta de serviço da VM do Dataproc -
Para conceder permissões de leitura e gravação ao diretório do warehouse do Hive:
(
roles/storage.objectAdmin
) na conta de serviço da VM do Dataproc
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 têm as permissões necessárias para criar um metastore do Dataproc e um cluster do Dataproc. Para conferir 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 um cluster do Dataproc:
-
Para criar um metastore do Dataproc:
metastore.services.create
na conta de usuário ou de serviço -
Para criar um cluster do Dataproc:
dataproc.clusters.create
na conta de usuário ou de serviço -
Para acessar o diretório do warehouse do Hive:
orgpolicy.policy.get1
,resourcemanager.projects.get
,resourcemanager.projects.list
,storage.objects.*
,storage.multipartUploads.*
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 Dataproc Metastore, consulte Gerenciar o acesso com o IAM.Clusters do Dataproc
O Dataproc é um serviço gerenciado do Apache Spark e do Apache Hadoop que você pode usar ferramentas de dados de código aberto para processamento em lote, de código aberto para processamento em lote, consultas, streaming e machine learning.
Considerações
Antes de criar e anexar um cluster do Dataproc, verifique o protocolo de endpoint pelo serviço do Dataproc Metastore. Esse protocolo define como seus clientes do metastore Hive acessam os metadados armazenados no seu metastore do Dataproc. Essa escolha também pode afetar os recursos que você pode integrar e usar com seu serviço.
Apache Thrift
Se você usa o protocolo de endpoint Apache Thrift, considere o seguintes requisitos de rede:
Por padrão, crie o cluster do Dataproc e o serviço do Metastore do Dataproc na mesma rede. Seu O cluster do Dataproc também pode usar uma sub-rede do Rede do serviço do Dataproc Metastore.
Se o cluster do Dataproc pertencer a um projeto diferente você precisa configurar permissões de rede compartilhadas.
Se o cluster do Dataproc pertencer a um projeto diferente que o serviço Metastore do Dataproc, é necessário configurar outras permissões antes de criar um cluster do Dataproc.
gRPC
Se você usa o protocolo de endpoint do gRPC, considere a seguintes requisitos de rede:
Depois de criar um Dataproc Metastore usando o endpoint do gRPC é necessário conceder outros papéis do IAM.
Se estiver usando a autenticação de cluster pessoal do Dataproc, o metastore do Dataproc precisa usar o protocolo de endpoint do gRPC.
Se o cluster do Dataproc pertencer a um projeto diferente que o serviço Metastore do Dataproc, é necessário configurar outras permissões antes de criar um cluster do Dataproc.
Criar um cluster e anexar um Metastore do Dataproc
As instruções a seguir mostram como criar um bucket do Dataproc cluster do Kubernetes e se conectar a ele usando um serviço do metastore do Dataproc. Esses as instruções pressupõem que você já criou um serviço do metastore do Dataproc.
- Antes de criar o cluster do Dataproc, verifique se o A imagem do Dataproc escolhida é compatível com a versão do metastore do Hive selecionados por você ao criar o metastore do Dataproc. Para mais informações, consulte a Lista de versões de imagem do Dataproc.
Para otimizar a conectividade de rede, crie o cluster do Dataproc na mesma região do seu serviço Metastore do Dataproc.
Console
No console do Google Cloud, abra a página Criar um cluster do Dataproc:
No campo Nome do cluster, insira um nome para o cluster.
Nos menus Região e Zona, selecione a mesma região em que você criou o serviço Metastore do Dataproc. Você pode escolher qualquer zona.
Clique na guia Personalizar cluster.
Na seção Configuração de rede, selecione a mesma rede que em que você criou o serviço do metastore do Dataproc.
Na seção Metastore do Dataproc, selecione o serviço Metastore do Dataproc que você quer anexar. Se ainda não tiver criado uma, selecione Criar Novo serviço.
Opcional: se o serviço Metastore do Dataproc usar o gRPC Endpoint Protocol:
- Clique na guia Gerenciar segurança.
- Na seção Acesso ao projeto, selecione Ativa o escopo da plataforma de nuvem para este cluster.
Configure as demais opções de serviço conforme necessário.
Para criar o cluster, clique em Criar.
O novo cluster aparecerá na lista de clusters. O status do cluster é listado como Provisionamento, até que o cluster esteja pronto para uso. Quando estiver pronto para uso, o status mudará para Running.
CLI da gcloud
Para criar um cluster e anexar um metastore do Dataproc, execute o seguinte comando gcloud dataproc clusters create
:
gcloud dataproc clusters create CLUSTER_NAME \ --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \ --region=LOCATION \ --scopes=SCOPES
Substitua:
CLUSTER_NAME
: o nome do novo. cluster do Dataproc.PROJECT_ID
: o ID do projeto do projeto em que você criou o serviço do metastore do Dataproc.LOCATION
: a mesma região em que você criou o serviço do Dataproc Metastore.SERVICE
: o nome do serviço Metastore do Dataproc que você está anexando ao aglomerado.SCOPES
: (opcional) se o metastore do Dataproc use o protocolo de endpoint do gRPC, usecloud-platform
.
REST
Siga as instruções da API para criar um cluster usando o APIs Explorer.
Anexar um cluster usando as propriedades de cluster do Dataproc
Também é possível anexar um cluster do Dataproc a um metastore do Dataproc
usando as propriedades do Dataproc.
Essas propriedades incluem ENDPOINT_URI
e WAREHOUSE_DIR
do metastore do Dataproc.
Use estas instruções se o seu metastore do Dataproc serviço usa o Private Service Connect ou se quiser anexar um cluster do Dataproc à versão auxiliar do serviço Metastore do Dataproc.
Há duas maneiras de anexar um cluster do Dataproc usando as propriedades ENDPOINT_URI
e WAREHOUSE_DIR
:
Opção 1: ao criar um cluster do Dataproc
Ao criar um cluster do Dataproc, use a sinalização de propriedades com a seguinte configuração do Hive.
gcloud dataproc clusters create CLUSTER_NAME \ --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"
Substitua:
CLUSTER_NAME
: o nome do novo Dataproc. aglomerado.ENDPOINT_URI
: o URI do endpoint do serviço Metastore do Dataproc.WAREHOUSE_DIR
: o local do diretório de armazéns do Hive.
Opção 2: atualizar o arquivo hive-site.xml
Também é possível anexar um cluster do Dataproc modificando
arquivo hive-site.xml
do cluster.
- Conecte-se ao cluster
.*-m
usando SSH. Abra o arquivo
/etc/hive/conf/hive-site.xml
e modifique as seguintes linhas:<property> <name>hive.metastore.uris</name> <!-- Update this value. --> <value>ENDPOINT_URI</value> </property> <!-- Add this property entry. --> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>
Substitua:
ENDPOINT_URI
: o URI do endpoint do serviço Metastore do Dataproc.WAREHOUSE_DIR
: o local do seu Diretório do warehouse do Hive.
Reinicie o HiveServer2:
sudo systemctl restart hive-server2.service
Clusters autogerenciados
Um cluster autogerenciado pode ser uma instância do Apache Hive, uma instância do Apache Spark ou um cluster do Presto.
Anexar um cluster autogerenciado
Defina os seguintes valores no arquivo de configuração do cliente:
hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR
Substitua:
ENDPOINT_URI
: o URI do endpoint do serviço Metastore do Dataproc.WAREHOUSE_DIR
: o local do seu Diretório do warehouse do Hive.
A seguir
- Guia de início rápido sobre como implantar o metastore do Dataproc
- Visão geral do metastore do Dataproc
- Visão geral do Dataproc