Depois de criar um serviço de Metastore do Dataproc, pode anexar qualquer um dos seguintes serviços:
- Um cluster do Dataproc.
- 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
- Ative o Dataproc Metastore no seu projeto.
- Crie um serviço de Metastore do Dataproc.
- Compreenda os requisitos de rede específicos do seu projeto.
Funções necessárias
Para receber as autorizações de que precisa para criar um Dataproc Metastore e um cluster do Dataproc, peça ao seu administrador para lhe conceder as seguintes funções do IAM:
-
Para conceder controlo total dos recursos de Metastore do Dataproc, pode:
-
Editor de Metastore do Dataproc (
roles/metastore.editor
) na conta de utilizador ou na conta de serviço -
Administrador de Metastore do Dataproc (
roles/metastore.admin
) na conta de utilizador ou na conta de serviço
-
Editor de Metastore do Dataproc (
-
Para criar um cluster do Dataproc:
(
roles/dataproc.worker
) na conta de serviço da VM do Dataproc -
Para conceder autorizações de leitura e escrita ao diretório do armazém de dados do Hive:
(
roles/storage.objectAdmin
) na conta de serviço da VM do Dataproc
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.
Estas funções predefinidas contêm as autorizações necessárias para criar um Dataproc Metastore e um cluster do Dataproc. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar um Dataproc Metastore e um cluster do Dataproc:
-
Para criar um Dataproc Metastore:
metastore.services.create
na conta de utilizador ou na conta de serviço -
Para criar um cluster do Dataproc:
dataproc.clusters.create
na conta de utilizador ou na conta de serviço -
Para aceder ao diretório do armazém do Hive:
orgpolicy.policy.get1
,resourcemanager.projects.get
,resourcemanager.projects.list
,storage.objects.*
,storage.multipartUploads.*
Também pode conseguir estas autorizações 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.Clusters do Dataproc
O Dataproc é um serviço Apache Spark e Apache Hadoop gerido que lhe permite tirar partido das ferramentas de dados de código aberto para processamento em lote, consultas, streaming e aprendizagem automática.
Considerações
Antes de criar e anexar um cluster do Dataproc, verifique que protocolo de ponto final o seu serviço Dataproc Metastore está a usar. Este protocolo define como os clientes do Hive Metastore acedem aos metadados armazenados no Dataproc Metastore. Esta escolha também pode afetar as funcionalidades que pode integrar e usar com o seu serviço.
Apache Thrift
Se usar o protocolo de ponto final Apache Thrift, considere os seguintes requisitos de rede:
Por predefinição, deve criar o cluster do Dataproc e o serviço Dataproc Metastore na mesma rede. O cluster do Dataproc também pode usar uma sub-rede da rede do serviço Dataproc Metastore.
Se o seu cluster do Dataproc pertencer a um projeto diferente do da rede, tem de configurar autorizações de rede partilhadas.
Se o seu cluster do Dataproc pertencer a um projeto diferente do serviço de Metastore do Dataproc, tem de configurar autorizações adicionais antes de criar um cluster do Dataproc.
gRPC
Se usar o protocolo de ponto final gRPC, considere os seguintes requisitos de rede:
Depois de criar um Dataproc Metastore através do protocolo do ponto final gRPC, tem de conceder funções do IAM adicionais.
Se estiver a usar a autenticação de cluster pessoal do Dataproc, o Dataproc Metastore tem de usar o protocolo de ponto final gRPC.
Se o seu cluster do Dataproc pertencer a um projeto diferente do serviço de Metastore do Dataproc, tem de configurar autorizações adicionais antes de criar um cluster do Dataproc.
Crie um cluster e anexe um Dataproc Metastore
As instruções seguintes mostram como criar um cluster do Dataproc e estabelecer ligação ao mesmo a partir de um serviço do Dataproc Metastore. Estas instruções partem do princípio de que já criou um serviço do Dataproc Metastore.
- Antes de criar o cluster do Dataproc, certifique-se de que a imagem do Dataproc que escolher é compatível com a versão do metastore do Hive que selecionou quando criou o Dataproc Metastore. Para mais informações, consulte a lista de versões de imagens do Dataproc.
Para otimizar a conetividade de rede, crie o cluster do Dataproc na mesma região que o serviço Dataproc Metastore.
Consola
Na Google Cloud consola, abra a página Criar um cluster do Dataproc:
No campo Nome do cluster, introduza um nome para o cluster.
Nos menus Região e Zona, selecione a mesma região em que criou o serviço Dataproc Metastore. Pode escolher qualquer zona.
Clique no separador Personalizar cluster.
Na secção Configuração de rede, selecione a mesma rede em que criou o serviço Dataproc Metastore.
Na secção Dataproc Metastore, selecione o serviço Dataproc Metastore que quer anexar. Se ainda não tiver criado um, pode selecionar Criar novo serviço.
Opcional: se o seu serviço Dataproc Metastore usar o protocolo de ponto final gRPC:
- Clique no separador Gerir segurança.
- Na secção Acesso ao projeto, selecione Ativa o âmbito da plataforma na nuvem para este cluster.
Configure as restantes opções de serviço conforme necessário.
Para criar o cluster, clique em Criar.
O novo cluster é apresentado na lista Clusters. O estado do cluster é apresentado como Aprovisionamento até o cluster estar pronto a ser usado. Quando estiver pronto para utilização, o estado muda para Em execução.
CLI gcloud
Para criar um cluster e anexar um Dataproc Metastore, 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 o seguinte:
CLUSTER_NAME
: o nome do seu novo cluster do Dataproc.PROJECT_ID
: o ID do projeto no qual criou o serviço Dataproc Metastore.LOCATION
: a mesma região em que criou o serviço de Metastore do Dataproc.SERVICE
: o nome do serviço Dataproc Metastore que está a associar ao cluster.SCOPES
: (Opcional) Se o seu serviço Dataproc Metastore usar o protocolo de ponto final gRPC, usecloud-platform
.
REST
Siga as instruções da API para criar um cluster usando o APIs Explorer.
Anexe um cluster através das propriedades do cluster do Dataproc
Também pode anexar um cluster do Dataproc a um Dataproc Metastore
usando propriedades do Dataproc.
Estas propriedades incluem o ENDPOINT_URI
do Dataproc Metastore e
WAREHOUSE_DIR
.
Use estas instruções se o seu serviço Dataproc Metastore usar o Private Service Connect ou se quiser anexar um cluster do Dataproc à versão auxiliar do seu serviço Dataproc Metastore.
Existem duas formas de anexar um cluster do Dataproc através das propriedades ENDPOINT_URI
e WAREHOUSE_DIR
:
Opção 1: durante a criação de um cluster do Dataproc
Quando criar um cluster do Dataproc, use a flag properties 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 o seguinte:
CLUSTER_NAME
: o nome do novo cluster do Dataproc.ENDPOINT_URI
: o URI do ponto final do seu serviço Dataproc Metastore.WAREHOUSE_DIR
: a localização do seu diretório de armazéns do Hive.
Opção 2: atualize o ficheiro hive-site.xml
Também pode anexar um cluster do Dataproc modificando diretamente o ficheiro hive-site.xml
do cluster.
- Estabeleça ligação ao cluster
.*-m
através de SSH. Abra o ficheiro
/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 o seguinte:
ENDPOINT_URI
: o URI do ponto final do seu serviço Dataproc Metastore.WAREHOUSE_DIR
: a localização do seu diretório de armazéns de dados do Hive.
Reinicie o HiveServer2:
sudo systemctl restart hive-server2.service
Clusters autogeridos
Um cluster autogerido pode ser uma instância do Apache Hive, uma instância do Apache Spark ou um cluster do Presto.
Associe um cluster autogerido
Defina os seguintes valores no ficheiro de configuração do cliente:
hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR
Substitua o seguinte:
ENDPOINT_URI
: o URI do ponto final do seu serviço Dataproc Metastore.WAREHOUSE_DIR
: a localização do seu diretório de armazéns de dados do Hive.
O que se segue?
- Início rápido para implementar o Dataproc Metastore
- Vista geral do Dataproc Metastore
- Vista geral do Dataproc