Dopo aver creato un servizio Dataproc Metastore, puoi collegare uno qualsiasi dei seguenti servizi:
- Un cluster Dataproc.
- Un'istanza Apache Hive autogestita, un'istanza Apache Spark o un cluster Presto.
Dopo aver connesso uno di questi servizi, durante l'esecuzione della query viene utilizzato il servizio Dataproc Metastore come metastore Hive.
Prima di iniziare
- Abilita Dataproc Metastore nel progetto.
- Crea un servizio Dataproc Metastore.
- Comprendere i requisiti di networking specifici del tuo progetto.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un cluster Dataproc Metastore e un cluster Dataproc, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Per concedere il controllo completo delle risorse Dataproc Metastore:
-
Dataproc Metastore Editor (
roles/metastore.editor
) sull'account utente o sull'account di servizio -
Amministratore Dataproc Metastore (
roles/metastore.admin
) nell'account utente o nell'account di servizio
-
Dataproc Metastore Editor (
-
Per creare un cluster Dataproc:
(
roles/dataproc.worker
) sull'account di servizio VM Dataproc -
Per concedere le autorizzazioni di lettura e scrittura alla directory del warehouse Hive:
(
roles/storage.objectAdmin
) sull'account di servizio VM Dataproc
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un Dataproc Metastore e un cluster Dataproc. Per visualizzare le autorizzazioni necessarie, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare un Dataproc Metastore e un cluster Dataproc, sono necessarie le autorizzazioni seguenti:
-
Per creare un Dataproc Metastore:
metastore.services.create
sull'account utente o sull'account di servizio -
Per creare un cluster Dataproc:
dataproc.clusters.create
sull'account utente o sull'account di servizio -
Per accedere alla directory del warehouse Hive:
orgpolicy.policy.get1
,resourcemanager.projects.get
,resourcemanager.projects.list
,storage.objects.*
,storage.multipartUploads.*
Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Per ulteriori informazioni su ruoli e autorizzazioni specifici di Dataproc Metastore, consulta Gestire l'accesso con IAM.Cluster Dataproc
Dataproc è un servizio Apache Spark e Apache Hadoop gestito che consente di sfruttare strumenti di dati open source per l'elaborazione batch, l'esecuzione di query, il flusso di dati e il machine learning.
Considerazioni
Prima di creare e collegare un cluster Dataproc, controlla quale protocollo endpoint utilizza il servizio Dataproc Metastore. Questo protocollo definisce il modo in cui i client Hive Metastore accedono ai metadati archiviati in Dataproc Metastore. Questa scelta può influire anche sulle funzionalità che puoi integrare e utilizzare con il tuo servizio.
Apache Thrift
Se utilizzi il protocollo degli endpoint Apache Thrift, prendi in considerazione i seguenti requisiti di rete:
Per impostazione predefinita, devi creare il cluster Dataproc e il servizio Dataproc Metastore sulla stessa rete. Il cluster Dataproc può utilizzare anche una subnet della rete del servizio Dataproc Metastore.
Se il cluster Dataproc appartiene a un progetto diverso dalla rete, devi configurare le autorizzazioni di rete condivise.
Se il cluster Dataproc appartiene a un progetto diverso dal servizio Dataproc Metastore, devi configurare autorizzazioni aggiuntive prima di creare un cluster Dataproc.
gRPC
Se utilizzi il protocollo dell'endpoint gRPC, prendi in considerazione i seguenti requisiti di rete:
Dopo aver creato Dataproc Metastore utilizzando il protocollo dell'endpoint gRPC, devi concedere ruoli IAM aggiuntivi.
Se utilizzi l'autenticazione cluster personale Dataproc, Dataproc Metastore deve utilizzare il protocollo dell'endpoint gRPC.
Se il cluster Dataproc appartiene a un progetto diverso dal servizio Dataproc Metastore, devi configurare autorizzazioni aggiuntive prima di creare un cluster Dataproc.
Crea un cluster e collega un Dataproc Metastore
Le istruzioni seguenti mostrano come creare un cluster Dataproc e connetterlo da un servizio Dataproc Metastore. Queste istruzioni presuppongono che tu abbia già creato un servizio Dataproc Metastore.
- Prima di creare il cluster Dataproc, assicurati che l'immagine Dataproc scelta sia compatibile con la versione del metastore Hive selezionata al momento della creazione del metastore Dataproc. Per ulteriori informazioni, consulta la sezione Elenco delle versioni delle immagini Dataproc.
Per ottimizzare la connettività di rete, crea il cluster Dataproc nella stessa regione del servizio Dataproc Metastore.
Console
Nella console Google Cloud, apri la pagina Crea un cluster di Dataproc:
Nel campo Nome cluster, inserisci un nome per il cluster.
Per i menu Regione e Zona, seleziona la stessa regione in cui hai creato il servizio Dataproc Metastore. Puoi scegliere qualsiasi zona.
Fai clic sulla scheda Personalizza cluster.
Nella sezione Configurazione di rete, seleziona la stessa rete in cui hai creato il servizio Dataproc Metastore.
Nella sezione Dataproc Metastore, seleziona il servizio Dataproc Metastore che vuoi collegare. Se non ne hai ancora creato uno, puoi selezionare Crea nuovo servizio.
(Facoltativo) Se il servizio Dataproc Metastore utilizza il protocollo endpoint gRPC:
- Fai clic sulla scheda Gestisci sicurezza.
- Nella sezione Accessi al progetto, seleziona Abilita l'ambito cloud-platform per questo cluster.
Configura le restanti opzioni di servizio in base alle tue esigenze.
Per creare il cluster, fai clic su Crea.
Il nuovo cluster viene visualizzato nell'elenco Cluster. Lo stato del cluster è elencato come Provisioning in corso finché il cluster non è pronto per l'uso. Quando è pronto per l'uso, lo stato diventa In esecuzione.
Interfaccia a riga di comando gcloud
Per creare un cluster e collegare un Dataproc Metastore, esegui questo comando gcloud dataproc clusters create
:
gcloud dataproc clusters create CLUSTER_NAME \ --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \ --region=LOCATION \ --scopes=SCOPES
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster Dataproc.PROJECT_ID
: l'ID del progetto in cui hai creato il servizio Dataproc Metastore.LOCATION
: la stessa regione in cui hai creato il servizio Dataproc Metastore.SERVICE
: il nome del servizio Dataproc Metastore che stai collegando al cluster.- (Facoltativo)
SCOPES
: se il servizio Dataproc Metastore utilizza il protocollo dell'endpoint gRPC, utilizzacloud-platform
.
REST
Segui le istruzioni dell'API per creare un cluster utilizzando Explorer API.
Collega un cluster utilizzando le proprietà del cluster Dataproc
Puoi anche collegare un cluster Dataproc a un Dataproc Metastore
utilizzando le proprietà Dataproc.
Queste proprietà includono Dataproc Metastore ENDPOINT_URI
e
WAREHOUSE_DIR
.
Utilizza queste istruzioni se il servizio Dataproc Metastore utilizza Private Service Connect o se vuoi collegare un cluster Dataproc alla versione ausiliaria del servizio Dataproc Metastore.
Esistono due modi per collegare un cluster Dataproc utilizzando le proprietà ENDPOINT_URI
e WAREHOUSE_DIR
:
Opzione 1: durante la creazione di un cluster Dataproc
Quando crei un cluster Dataproc, utilizza il flag delle proprietà con la seguente configurazione Hive.
gcloud dataproc clusters create CLUSTER_NAME \ --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster Dataproc.ENDPOINT_URI
: l'URI endpoint del servizio Dataproc Metastore.WAREHOUSE_DIR
: la posizione della directory del warehouse di Hive.
Opzione 2: aggiorna il file hive-site.xml
Puoi anche collegare un cluster Dataproc modificando direttamente il file hive-site.xml
del cluster.
- Connettiti al cluster
.*-m
utilizzando SSH. Apri il file
/etc/hive/conf/hive-site.xml
e modifica le righe seguenti:<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>
Sostituisci quanto segue:
ENDPOINT_URI
: l'URI endpoint del servizio Dataproc Metastore.WAREHOUSE_DIR
: la posizione della directory del warehouse Hive.
Riavvia HiveServer2:
sudo systemctl restart hive-server2.service
Cluster autogestiti
Un cluster autogestito può essere un'istanza Apache Hive, un'istanza Apache Spark o un cluster Presto.
Collega un cluster autogestito
Imposta i seguenti valori nel file di configurazione client:
hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR
Sostituisci quanto segue:
ENDPOINT_URI
: l'URI endpoint del servizio Dataproc Metastore.WAREHOUSE_DIR
: la posizione della directory del warehouse Hive.
Passaggi successivi
- Guida rapida per il deployment di Dataproc Metastore
- Panoramica di Dataproc Metastore
- Panoramica di Dataproc