Collega un cluster Dataproc o autogestito

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Dopo aver creato un servizio Dataproc Metastore, puoi collegare uno dei seguenti elementi per utilizzare il servizio come metastore Hive:

Prima di iniziare

Ruoli obbligatori

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

  • Per concedere il controllo completo delle risorse Dataproc Metastore:
    • Dataproc Metastore Editor (roles/metastore.editor) nell'account utente o nell'account di servizio
    • Amministratore Dataproc Metastore (roles/metastore.admin) nell'account utente o nell'account di servizio
  • Per creare un cluster Dataproc Metastore: (roles/dataproc.worker) nell'account di servizio VM Dataproc
  • Per concedere le autorizzazioni di lettura e scrittura alla directory del warehouse Hive: (roles/storage.objectAdmin) nell'account di servizio VM di Dataproc

Per maggiori informazioni 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 esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

  • Per creare un Dataproc Metastore: metastore.services.create sull'account utente o 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.* nell'account di servizio VM di Dataproc

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

Per maggiori informazioni su specifici ruoli e autorizzazioni di Dataproc Metastore, vedi Gestire l'accesso con IAM.

Cluster Dataproc

Puoi creare e collegare un cluster Dataproc che utilizza il servizio Metastore Dataproc come metastore Hive.

Per ulteriori informazioni sui diversi modi per configurare un cluster Dataproc, consulta Configurazioni di progetto.

Considerazioni

Crea un cluster Dataproc e collega un metastore

Le istruzioni seguenti mostrano come creare un cluster Dataproc e connettersi a un cluster Dataproc Metastore.

  • Per una connettività di rete ottimale, crea il cluster Dataproc nella stessa regione del servizio Dataproc Metastore.

  • L'immagine Dataproc e la versione Dataproc Metastore Hive devono essere compatibili. Per scoprire di più, consulta l'elenco delle versioni di Imageproc Image.

Console

  1. In Google Cloud Console, apri la pagina Crea un cluster di Dataproc:

    Apri la pagina Crea un cluster in Google Cloud Console

  2. Inserisci il campo Nome cluster.

  3. Nei menu Area geografica e Zona, seleziona un'area geografica e una zona per il cluster. Puoi selezionare una regione distinta per isolare le risorse e le località di archiviazione dei metadati all'interno della regione specificata. Se selezioni un'area geografica separata, puoi selezionare "Nessuna preferenza" per la zona in modo da consentire a Dataproc di scegliere una zona all'interno dell'area geografica selezionata per il cluster (vedi Posizionamento automatico Dataproc).

  4. Fai clic sulla scheda Personalizza cluster.

  5. Nella sezione Configurazione di rete, seleziona la stessa rete specificata durante la creazione del servizio Metastore.

  6. Nella sezione Dataproc Metastore, seleziona il tuo servizio di metastore. Se non hai ancora creato un nuovo servizio, puoi selezionarlo Crea nuovo servizio.

  7. Fai clic su Crea per creare il cluster.

Il nuovo cluster viene visualizzato nell'elenco Cluster. Lo stato del cluster è indicato come "Provisioning" finché il cluster non è pronto per l'uso. Lo stato cambia in "In esecuzione".

gcloud

Esegui il comando gcloud dataproc clusters create seguente per creare un cluster:

 gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION
 

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del nuovo cluster.
  • PROJECT_ID: l'ID del progetto in cui hai creato il servizio Dataproc Metastore.
  • LOCATION: la stessa regione specificata per il servizio Dataproc Metastore.
  • SERVICE: il nome del servizio Dataproc Metastore.

REST

Segui le istruzioni dell'API per creare un cluster utilizzando Explorer API.

Associa un cluster Dataproc utilizzando ENDPOINT_URI e WAREHOUSE_DIR

Puoi collegare un cluster Dataproc utilizzando le proprietà ENDPOINT_URI e WAREHOUSE_DIR. Questo è utile se il servizio Dataproc Metastore utilizza Private Service Connect o se vuoi collegare la versione ausiliaria del servizio Dataproc Metastore.

Per saperne di più su queste proprietà e su dove trovarle, consulta Collegare un cluster autogestito.

Esistono due modi per collegare un cluster Dataproc utilizzando le proprietà ENDPOINT_URI e WAREHOUSE_DIR:

  • Opzione 1: fornisci la seguente configurazione di proprietà Hive durante la creazione del cluster Dataproc.

    1. Esegui questo comando gcloud dataproc clusters create:

         gcloud dataproc clusters create CLUSTER_NAME \
             --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"
      
  • Opzione 2: aggiorna hive-site.xml nel cluster Dataproc con l'URI dell'endpoint elencato in NetworkConfig.

    1. Accedi tramite SSH all'istanza master del cluster Dataproc ed esegui il comando seguente:

      1. Modifica /etc/hive/conf/hive-site.xml nel cluster Dataproc:

        <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>
        
      2. Riavvia HiveServer2:

        sudo systemctl restart hive-server2.service
        

Configura un deployment tra progetti per i cluster Dataproc

Un deployment tra progetti può essere costituito da due a tre progetti, con il cluster Dataproc in un progetto di cluster, il servizio Dataproc Metastore in un progetto metastore e la rete in uno dei due progetti precedenti o nel proprio progetto di rete. Il cluster Dataproc Metastore e il servizio Dataproc possono inoltre condividere un progetto mentre la rete si trova in un proprio progetto di rete.

Autorizzazioni tra progetti

I deployment tra progetti in cui il cluster Dataproc e il servizio Metastore Dataproc si trovano in progetti separati richiedono autorizzazioni aggiuntive. Non è necessario eseguire questa configurazione per i casi in cui il cluster Dataproc e il servizio Dataproc Metastore condividono un progetto mentre la rete è nel suo progetto di rete.

Dopo aver configurato le autorizzazioni di rete, devi concedere il ruolo Visualizzatore Dataproc Metastore nel progetto metastore all'agente di servizio Dataproc del progetto cluster. L'account dell'agente di servizio Dataproc è nel formato service-<cluster-project-number>@dataproc-accounts.iam.gserviceaccount.com. Devi fare riferimento al numero di progetto del progetto del cluster.

Console

Per trovare il numero del progetto:

  1. Vai alla scheda Impostazioni IAM e amministrazione.

  2. Dall'elenco dei progetti nella parte superiore della pagina, seleziona il progetto che utilizzerai per creare il cluster Dataproc.

  3. Annota il numero del progetto.

Configura le autorizzazioni:

  1. Vai alla scheda IAM.

  2. Seleziona il progetto del metastore dall'elenco dei progetti nella parte superiore della pagina.

  3. Fai clic su Add (Aggiungi).

    1. Inserisci l'account di servizio nel campo Nuove entità.

    2. Nel menu Ruoli, seleziona Dataproc Metastore > Dataproc MetastoreViewer.

    3. Fai clic su Add (Aggiungi).

Ora puoi creare un cluster Dataproc utilizzando il servizio Dataproc Metastore del progetto metastore e la rete o la subnet su cui è attivo il servizio.

Se utilizzi una rete VPC appartenente a un progetto diverso da quello del servizio, devi fornire il nome completo della risorsa in gcloud metastore services create SERVICE. Ad esempio:

gcloud metastore services create SERVICE \
  --network=projects/HOST_PROJECT/global/networks/NETWORK_ID

Cluster autogestiti

Dopo aver creato un servizio, puoi collegare un cluster Apache Hive, Apache Spark o Presto autogestito che utilizza il servizio come metastore Hive.

Collega un cluster autogestito

Imposta i valori seguenti nel file di configurazione client:

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

Sostituisci quanto segue:

  • ENDPOINT_URI: l'URI dell'endpoint del metastore Hive utilizzato per accedere al servizio del metastore.

    Per trovare il valore URI di endpoint da utilizzare, fai clic sul nome del servizio nella pagina Dataproc Metastore. Viene visualizzata la pagina Dettagli servizio relativa al servizio, dove puoi utilizzare il valore URL che inizia con thrift://.

  • WAREHOUSE_DIR: si riferisce alla directory delle sostituzioni di configurazione del metastore Hive. Può essere in formato gs://.*hive-warehouse.

    Per trovare la directory del warehouse da utilizzare, fai clic sul nome del servizio nella pagina Metastore Dataproc. Viene visualizzata la pagina Dettagli servizio per il servizio, in cui puoi utilizzare il valore hive.metastore.warehouse.dir nella sezione Override della configurazione Metastore.

    URL del dettaglio del servizio e valori hive.metastore.warehouse.dir

Passaggi successivi