Collega un cluster Dataproc o un cluster autonomo

Dopo aver creato un servizio Dataproc Metastore, puoi collegare uno dei seguenti servizi:

Dopo aver connesso uno di questi servizi, utilizza il servizio Dataproc Metastore come metastore Hive durante l'esecuzione delle query.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare un Dataproc Metastore e un cluster Dataproc, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare un servizio Dataproc Metastore e un cluster Dataproc. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare un cluster Dataproc Metastore e un cluster Dataproc sono necessarie le seguenti autorizzazioni:

  • Per creare un Dataproc Metastore: metastore.services.create sull'account utente o sul account di servizio
  • Per creare un cluster Dataproc: dataproc.clusters.create sull'account utente o sul account di servizio
  • Per accedere alla directory del warehouse Hive: orgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.* nell'account di servizio VM Dataproc

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Per saperne di più 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 ti consente di sfruttare gli strumenti per i dati open source per elaborazione batch, esecuzione di query, inserimento di flussi e machine learning.

Considerazioni

Prima di creare e collegare un cluster Dataproc, controlla quale protocollo endpoint utilizza il tuo 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 dell'endpoint Apache Thrift, considera 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ò anche utilizzare 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 condivisa.

  • 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, tieni presente i seguenti requisiti di rete:

Crea un cluster e collega un metastore Dataproc

Le seguenti istruzioni mostrano come creare un cluster Dataproc e connetterti a quest'ultimo 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 durante la creazione di Dataproc Metastore. Per saperne di più, consulta Elenco delle versioni immagine di Dataproc.
  • Per ottimizzare la connettività di rete, crea il cluster Dataproc nella stessa regione del servizio Dataproc Metastore.

Console

  1. Nella console Google Cloud , apri la pagina Crea un cluster di Dataproc:

    Apri Crea un cluster

  2. Nel campo Nome cluster, inserisci un nome per il cluster.

  3. Nei menu Regione e Zona, seleziona la stessa regione in cui hai creato il servizio Dataproc Metastore. Puoi scegliere qualsiasi zona.

  4. Fai clic sulla scheda Personalizza cluster.

  5. Nella sezione Configurazione di rete, seleziona la stessa rete in cui hai creato il servizio Dataproc Metastore.

  6. Nella sezione Dataproc Metastore, seleziona il servizio Dataproc Metastore che vuoi collegare. Se non ne hai ancora creato uno, puoi selezionare Crea nuovo servizio.

  7. (Facoltativo) Se il servizio Dataproc Metastore utilizza il protocollo dell'endpoint gRPC:

    1. Fai clic sulla scheda Gestisci sicurezza.
    2. Nella sezione Accesso al progetto, seleziona Abilita l'ambito cloud-platform per questo cluster.
  8. Configura le restanti opzioni di servizio in base alle necessità.

  9. Per creare il cluster, fai clic su Crea.

    Il nuovo cluster viene visualizzato nell'elenco Cluster. Lo stato del cluster è indicato 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 il seguente 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 progetto 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.
  • SCOPES: (facoltativo) se il servizio Dataproc Metastore utilizza il protocollo dell'endpoint gRPC, utilizza cloud-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 ENDPOINT_URI e WAREHOUSE_DIR di Dataproc Metastore.

Segui 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 di 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:

Opzione 2: aggiorna il file hive-site.xml

Puoi anche collegare un cluster Dataproc modificando direttamente il file hive-site.xml del cluster.

  1. Connettiti al cluster .*-m tramite SSH.
  2. Apri il file /etc/hive/conf/hive-site.xml e modifica le seguenti righe:

    <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:

  3. 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 del client:

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

Sostituisci quanto segue:

Passaggi successivi