Crea un servizio Dataproc Metastore

Questa pagina mostra come creare un servizio Dataproc Metastore.

Dopo aver creato il servizio Dataproc Metastore, puoi importare i metadati e connetterti a uno dei seguenti servizi:

Dopo aver collegato uno di questi servizi, durante l'esecuzione della query verrà utilizzato il tuo servizio Dataproc Metastore come metastore Hive.

Prima di iniziare

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per creare un Dataproc Metastore, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto, in base al principio del privilegio minimo:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene l'autorizzazione metastore.services.create, necessaria per creare un Dataproc Metastore.

Potresti riuscire a ottenere questa autorizzazione anche 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.

Crea Dataproc Metastore utilizzando le impostazioni predefinite

La creazione di un Dataproc Metastore mediante le impostazioni predefinite configura il servizio con un livello enterprise, una dimensione dell'istanza media, la versione più recente di Hive Metastore, un endpoint Thrift e una località dei dati us-central.

Dataproc Metastore 2

Le seguenti istruzioni mostrano come creare un Dataproc Metastore 2 utilizzando un endpoint Thrift e altre impostazioni predefinite fornite.

Console

  1. Nella console Google Cloud, vai alla pagina Dataproc Metastore.

    Vai a Dataproc Metastore

  2. Nella barra di navigazione, fai clic su +Crea.

    Si apre la finestra di dialogo Crea servizio Metastore.

  3. Seleziona Dataproc Metastore 2.

  4. Nella sezione Prezzi e capacità, scegli una dimensione di istanza.

    Per ulteriori informazioni, consulta la sezione sui piani tariffari e sulle configurazioni di scalabilità.

  5. Nel campo Nome servizio, inserisci un nome univoco per il servizio.

    Per informazioni sulle convenzioni di denominazione, vedi Convenzione di denominazione delle risorse.

  6. Seleziona Località dei dati.

    Per saperne di più sulla selezione della regione appropriata, consulta Regioni e zone disponibili ed Endpoint a livello di regione.

  7. Per le restanti opzioni di configurazione del servizio, utilizza i valori predefiniti forniti.

  8. Per creare e avviare il servizio, fai clic su Invia.

    Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato mostra Creazione in corso finché il servizio non è pronto per l'uso. Quando è pronto, lo stato diventa Attivo. Il provisioning del servizio potrebbe richiedere alcuni minuti.

Interfaccia a riga di comando gcloud

Per creare un servizio metastore Dataproc Metastore 2 utilizzando i valori predefiniti forniti, esegui questo comando gcloud metastore services create:

gcloud metastore services create SERVICE \
  --location=LOCATION \
  --instance-size=INSTANCE_SIZE \
  --scaling-factor=SCALING_FACTOR

Sostituisci quanto segue:

  • SERVICE: il nome del nuovo servizio Dataproc Metastore.
  • LOCATION: la regione Google Cloud in cui vuoi creare Dataproc Metastore. Puoi anche impostare una località predefinita.

    Per informazioni sulle convenzioni di denominazione, vedi Convenzione di denominazione delle risorse.

  • INSTANCE_SIZE: le dimensioni dell'istanza del tuo Dataproc Metastore in più regioni. Ad esempio, small, medium o large. Se specifichi un valore per INSTANCE_SIZE, non specificare un valore per SCALING_FACTOR.

  • SCALING_FACTOR: il fattore di scalabilità del servizio Dataproc Metastore. Ad esempio: 0.1. Se specifichi un valore per SCALING_FACTOR, non specificare un valore per INSTANCE_SIZE.

REST

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

Dataproc Metastore 1

Le seguenti istruzioni mostrano come creare un Dataproc Metastore 1 utilizzando un endpoint Thrift e altre impostazioni predefinite fornite.

Console

  1. Nella console Google Cloud, vai alla pagina Dataproc Metastore.

    Vai a Dataproc Metastore

  2. Nella barra di navigazione, fai clic su +Crea.

    Si apre la finestra di dialogo Crea servizio Metastore.

  3. Seleziona Dataproc Metastore 1.

  4. Nel campo Nome servizio, inserisci un nome univoco per il servizio.

    Per informazioni sulle convenzioni di denominazione, vedi Convenzione di denominazione delle risorse.

  5. Seleziona Località dei dati.

    Per saperne di più sulla selezione della regione appropriata, consulta Regioni e zone disponibili ed Endpoint a livello di regione.

  6. Per le restanti opzioni di configurazione del servizio, utilizza i valori predefiniti forniti.

  7. Per creare e avviare il servizio, fai clic su Invia.

    Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato mostra Creazione in corso finché il servizio non è pronto per l'uso. Quando è pronto, lo stato diventa Attivo. Il provisioning del servizio potrebbe richiedere un paio di minuti.

Interfaccia a riga di comando gcloud

Per creare un servizio metastore di base utilizzando i valori predefiniti forniti, esegui questo comando gcloud metastore services create:

gcloud metastore services create SERVICE \
  --location=LOCATION

Sostituisci quanto segue:

REST

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

Crea Dataproc Metastore utilizzando le impostazioni avanzate

La creazione di un Dataproc Metastore utilizzando le impostazioni avanzate mostra che devi modificare configurazioni come configurazioni di rete, impostazioni di scalabilità, impostazioni degli endpoint, impostazioni di sicurezza e funzionalità facoltative.

Dataproc Metastore 2 o 1

Le seguenti istruzioni mostrano come creare un servizio Dataproc Metastore 2 o un servizio Dataproc Metastore 1 utilizzando le impostazioni avanzate.

Console

Inizia

  1. Nella console Google Cloud, apri la pagina Dataproc Metastore:

    Apri Dataproc Metastore

  2. Nel menu di navigazione, fai clic su +Crea.

    Si apre la finestra di dialogo Crea servizio Metastore.

  3. Seleziona la versione di Metastore che vuoi utilizzare, Dataproc Metastore 1 o Dataproc Metastore 2.

    Informazioni sul servizio

    Pagina Crea servizio
    Esempio della pagina Crea servizio

    1. (Facoltativo): per Dataproc Metastore 2. Nella sezione Prezzi e capacità, scegli una dimensione dell'istanza.

      Per ulteriori informazioni, consulta la sezione sui piani tariffari e sulle configurazioni di scalabilità.

    2. Nel campo Nome servizio, inserisci un nome univoco per il servizio.

      Per informazioni sulle convenzioni di denominazione, vedi Convenzione di denominazione delle risorse.

    3. Seleziona Località dei dati.

      Per saperne di più sulla selezione della regione appropriata, consulta Regioni e zone disponibili ed Endpoint a livello di regione.

    4. Seleziona la versione del Metastore di Hive.

      Se questo valore non viene modificato, il servizio utilizza l'ultima versione supportata di Hive (attualmente la versione 3.1.2).

      Per maggiori informazioni sulla selezione della versione corretta, consulta Criterio di versione.

    5. Seleziona il Canale di rilascio.

      Se questo valore non viene modificato, il metastore utilizza il valore Stable. Per maggiori informazioni, consulta la sezione Canale di rilascio.

    6. Inserisci la porta TCP.

      La porta TCP a cui si connette l'endpoint Thrift. Se questo valore non viene modificato, viene utilizzato il numero di porta 9083. Se cambi il tuo endpoint in gRPC, questo valore diventa automaticamente 443 e non può essere modificato.

    7. (Facoltativo) Per Dataproc Metastore 1. Seleziona il Livello di servizio.

      Il livello di servizio influenza la capacità del tuo servizio. Per maggiori informazioni, consulta Livello di servizio.

    Protocollo endpoint

    • (Facoltativo) Scegli un protocollo endpoint.

      L'opzione selezionata per impostazione predefinita è Apache Thrift. Per ulteriori informazioni sui diversi endpoint, consulta Scegliere il protocollo degli endpoint.

    Configurazione di rete

    1. Seleziona una Configurazione di rete.

      Per impostazione predefinita, il servizio è esposto in una sola rete VPC e utilizza la rete default. La rete default consente al tuo servizio di connettersi solo ad altri servizi nello stesso progetto.

      Modifica le impostazioni della rete da quelle predefinite per completare le seguenti azioni:

      • Connetti il tuo servizio Dataproc Metastore ai servizi Dataproc Metastore in altri progetti.
      • Usa il tuo servizio Dataproc Metastore con altri servizi Google Cloud, come il cluster Dataproc.
    2. (Facoltativo) Fai clic su Utilizza rete VPC condivisa e inserisci l'ID progetto e il Nome rete VPC.

    3. (Facoltativo) Fai clic su Rendi i servizi accessibili in più subnet VPC e seleziona le subnet. Puoi specificare fino a cinque subnet.

    4. Fai clic su Fine.

    Integrazione dei metadati

    Periodo di manutenzione

    • (Facoltativo) Seleziona Giorno della settimana e Ora del giorno per il periodo di manutenzione.

      Per ulteriori informazioni, vedi Periodi di manutenzione.

    Sicurezza

    1. (Facoltativo) Attiva Kerberos.

      1. Per attivare Kerberos, fai clic sul pulsante di attivazione/disattivazione.
      2. Seleziona o inserisci il tuo ID risorsa secret.
      3. Scegli di utilizzare la versione più recente del secret o selezionane una meno recente.
      4. Inserisci l'entità Kerberos.

        Questa è l'entità allocata per questo servizio Dataproc Metastore.

      5. Vai al file di configurazione krb5.

    2. (Facoltativo) Scegli un tipo di crittografia.

      • L'opzione selezionata per impostazione predefinita è Chiave di crittografia gestita da Google.

      • Per selezionare una chiave gestita dal cliente, fai clic su Utilizza una chiave di crittografia gestita dal cliente (CMEK).

        Per saperne di più, consulta Utilizzo delle chiavi di crittografia gestite dal cliente.

    Override della configurazione di Metastore

    • (Facoltativo) Per applicare una mappatura a Hive Metastore, fai clic su + Add Overrides (+ Aggiungi override).

    Configurazione versione ausiliaria

    • (Facoltativo) Per aggiungere una configurazione della versione ausiliaria, fai clic su Abilita.

      Per ulteriori informazioni, vedi Versioni ausiliarie.

    Tipo di database

    • (Facoltativo) Scegli un tipo di database.

      Per Tipo di database, seleziona MySQL o Spanner. MySQL è il tipo di database predefinito.

      Per saperne di più sulla scelta di un tipo di database specifico, consulta Tipi di database.

    Etichette

    • (Facoltativo) Per aggiungere o rimuovere le etichette facoltative che descrivono i metadati, fai clic su + Aggiungi etichette.

Avviare il servizio

Per creare e avviare il servizio, fai clic su Invia.

Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato mostra Creazione in corso finché il servizio non è pronto per l'uso. Quando è pronto, lo stato diventa Attivo. Il provisioning del servizio potrebbe richiedere alcuni minuti.

Interfaccia a riga di comando gcloud

  1. Per creare un metastore, esegui questo comando gcloud metastore services create:

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --instance-size=INSTANCE_SIZE \
      --scaling-factor=SCALING_FACTOR \
      --port=PORT \
      --tier=TIER \
      --endpoint-protocol=ENDPOINT_PROTOCOL \
      --database-type=DATABASE_TYPE \
      --hive-metastore-version=HIVE_METASTORE_VERSION \
      --data-catalog-sync=DATA_CATALOG_SYNC \
      --release-channel=RELEASE_CHANNEL \
      --hive-metastore-configs=METADATA_OVERRIDE \
      --labels=LABELS \
      --auxiliary-versions=AUXILIARY_VERSION \
      --network=NETWORK \
      --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1, projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2" \
      --kerberos-principal=KERBEROS_PRINCIPAL \
      --krb5-config=KRB5_CONFIG \
      --keytab=CLOUD_SECRET \
      --encryption-kms-key=KMS_KEY

    Sostituisci quanto segue:

    Impostazioni servizio:

    • SERVICE: il nome del tuo nuovo servizio Dataproc Metastore. Ad esempio, 0.1. Se specifichi un valore per SCALING_FACTOR, non specificare un valore per INSTANCE_SIZE.
    • LOCATION: la regione Google Cloud in cui vuoi creare Dataproc Metastore. Puoi anche impostare una località predefinita.
    • PORT: (facoltativo) la porta TCP utilizzata dall'endpoint Thrift. Se non viene configurato, viene utilizzata la porta 9083. Se scegli di utilizzare un endpoint gRPC, il numero di porta diventa automaticamente 443.
    • TIER: facoltativo per Dataproc Metastore 1: il livello di servizio del nuovo servizio. Se non viene configurato, viene utilizzato il valore Developer.
    • ENDPOINT_PROTOCOL: (Facoltativo) Scegli il protocollo dell'endpoint per il tuo servizio.
    • DATABASE_TYPE: (Facoltativo) Scegli il tipo di database per il tuo servizio. Per saperne di più sulla scelta di un tipo di database specifico, consulta Tipi di database.
    • DATA_CATALOG_SYNC: (Facoltativo) Attiva la funzionalità di sincronizzazione di Data Catalog.
    • HIVE_METASTORE_VERSION: (facoltativo) la versione del metastore Hive che vuoi utilizzare con il servizio. Ad esempio, 3.1.2. Se non viene configurato, viene utilizzata l'ultima versione di Hive.
    • RELEASE_CHANNEL: facoltativo: il canale di rilascio del servizio. Se non viene configurato, viene utilizzato il valore Stable.
    • METADATA_OVERRIDE: Facoltativo: le configurazioni di override del metastore Hive da applicare al tuo servizio. Utilizza un elenco separato da virgole nel formato k1=v1,k2=v2,k3=v3.
    • LABELS: (facoltativo) coppie chiave-valore per aggiungere ulteriori metadati al servizio. Utilizza un elenco separato da virgole nel formato k1=v1,k2=v2,k3=v3. Dataproc Metastore
    • AUXILIARY_VERSION: (Facoltativo) Abilita le versioni ausiliarie. Per ulteriori informazioni, vedi Versioni ausiliarie.

    Impostazioni di scalabilità:

    • INSTANCE_SIZE: Facoltativo per Dataproc Metastore 2: la dimensione dell'istanza di Dataproc Metastore in più regioni. Ad esempio, small, medium o large. Se specifichi un valore per INSTANCE_SIZE, non specificare un valore per SCALING_FACTOR.
    • SCALING_FACTOR: facoltativo per Dataproc Metastore 2: il fattore di scalabilità del servizio Dataproc Metastore. Ad esempio: 0.1. Se specifica un valore per SCALING_FACTOR, non specificare un valore per INSTANCE_SIZE

    Impostazioni di rete:

    • NETWORK: il nome della rete VPC che colleghi al tuo servizio. Se non viene configurato, viene utilizzato il valore default.

      Se utilizzi una rete VPC che appartiene a un progetto diverso dal tuo servizio, devi fornire l'intero nome della risorsa relativa. Ad esempio, projects/HOST_PROJECT/global/networks/NETWORK_ID.

    • SUBNET1, SUBNET2: Facoltativo: un elenco di subnet che possono accedere al tuo servizio. Puoi utilizzare l'ID, l'URL completo o il nome relativo della subnet. Puoi specificare fino a cinque subnet.

    Impostazioni Kerberos:

    • KERBEROS_PRINCIPAL: Facoltativo: un'entità Kerberos esistente sia nella keytab sia nel KDC. Un'entità tipica ha il formato "primary/instance@REALM", ma non esiste un formato esatto.
    • KRB5_CONFIG: facoltativo: il file krb5.config specifica il KDC e le informazioni di area di autenticazione Kerberos, comprese le posizioni dei KDC e i valori predefiniti per le applicazioni di area di autenticazione e Kerberos.
    • CLOUD_SECRET: (facoltativo) il nome della risorsa relativo di una versione secret di Secret Manager.
    • KMS_KEY: facoltativo: fa riferimento all'ID risorsa della chiave.
  2. Verifica che la creazione sia riuscita.

REST

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

Imposta un override della configurazione del metastore Hive per Dataproc Metastore

Se la directory del warehouse Apache Hive si trova su Cloud Storage, devi impostare un override della configurazione del metastore. Con questo override, il data warehouse personalizzato viene impostato come directory di warehouse predefinita per il servizio Dataproc Metastore.

Prima di impostare l'override, assicurati che il servizio Dataproc Metastore disponga delle autorizzazioni di lettura e scrittura degli oggetti per accedere alla directory del warehouse. Per maggiori informazioni, consulta la directory del warehouse Hive.

Le seguenti istruzioni mostrano come impostare un override della configurazione di Hive Metastore per un nuovo servizio Dataproc Metastore.

Console

  1. Nella console Google Cloud, apri la pagina Dataproc Metastore:

    Apri Dataproc Metastore

  2. Nella barra di navigazione, fai clic su +Crea.

  3. In Override della configurazione di Metastore, inserisci i seguenti valori:

    • Chiave: hive.metastore.warehouse.dir.
    • Valore: la posizione di Cloud Storage della directory del warehouse. Ad esempio: gs://my-bucket/path/to/location.
  4. Configura le restanti opzioni di servizio in base alle esigenze oppure utilizza le impostazioni predefinite fornite.

  5. Fai clic su Invia.

    Torna alla pagina Dataproc Metastore e verifica che il servizio sia stato creato correttamente.

Interfaccia a riga di comando gcloud

  1. Per creare un servizio Dataproc Metastore con un override Hive, esegui questo comando gcloud metastore services create:

    gcloud metastore services create SERVICE \
      --location=LOCATION \
      --hive-metastore-configs="hive.metastore.warehouse.dir=CUSTOMER_DIR"
    

    Sostituisci quanto segue:

    • SERVICE: il nome del nuovo servizio Dataproc Metastore.
    • LOCATION: la regione Google Cloud in cui vuoi creare Dataproc Metastore. Puoi anche impostare una località predefinita.
    • CUSTOMER_DIR: la località Cloud Storage della directory del warehouse. Ad esempio: gs://my-bucket/path/to/location.
  2. Verifica che la creazione sia riuscita.

Crea Dataproc Metastore con scalabilità automatica

Dataproc Metastore 2 supporta la scalabilità automatica. Se attivi la scalabilità automatica, puoi impostare un fattore di scalabilità minimo e un fattore di scalabilità massimo. Una volta impostato, il servizio aumenta o diminuisce automaticamente il fattore di scalabilità necessario per eseguire i carichi di lavoro.

Considerazioni sulla scalabilità automatica

  • I fattori di scalabilità automatica e di scalabilità sono opzioni che si escludono a vicenda. Ad esempio, se attivi la scalabilità automatica, non puoi impostare manualmente un fattore di scalabilità o una dimensione.
  • La scalabilità automatica è disponibile solo per le istanze Dataproc Metastore a regione singola.
  • Quando la scalabilità automatica è abilitata, le impostazioni esistenti dei fattori di scalabilità vengono cancellate.
  • Quando la scalabilità automatica è disabilitata:
    • Le impostazioni di scalabilità automatica esistenti sono state cancellate.
    • Il fattore di scalabilità è impostato sull'ultimo autoscaling_factor configurato sul servizio.
  • I fattori di scalabilità automatica minimo e massimo sono facoltativi. Se non viene configurato, i valori predefiniti sono rispettivamente 0.1 e 6.

Scegli una delle seguenti schede per scoprire come creare un servizio Dataproc Metastore 2 con scalabilità automatica abilitata.

Console

  1. Nella console Google Cloud, vai alla pagina Dataproc Metastore.

    Vai a Dataproc Metastore

  2. Nella barra di navigazione, fai clic su +Crea.

    Si apre la finestra di dialogo Crea servizio Metastore.

  3. Seleziona Dataproc Metastore 2.

  4. Nella sezione Prezzi e capacità, seleziona Enterprise - Regione singola

  5. In Dimensioni istanza, fai clic su Abilita scalabilità automatica.

  6. In Dimensioni istanza, utilizza il cursore per scegliere una dimensione minima e una massima dell'istanza.

  7. Per creare e avviare il servizio, fai clic su Invia.

    Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato mostra Creazione in corso finché il servizio non è pronto per l'uso. Quando è pronto, lo stato diventa Attivo. Il provisioning del servizio potrebbe richiedere alcuni minuti.

REST

curl -X POST -s -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{"scaling_config":{"autoscaling_config":{"autoscaling_enabled": true,"limit_config":{"max_scaling_factor":MAX_SCALING_FACTOR,"min_scaling_factor": MIN_SCALING_FACTOR}}}}' \
-H "Content-Type:application/json" \
https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/services?service_id=SERVICE_ID

Sostituisci quanto segue:

  • MIN_INSTANCES Facoltativo: il numero minimo di istanze da utilizzare nella configurazione della scalabilità automatica. Se questo valore non viene specificato, viene utilizzato un valore predefinito di 0.1.
  • MAX_INSTANCESFacoltativo: il numero massimo di istanze da utilizzare nella configurazione della scalabilità automatica. Se questo valore non viene specificato, viene utilizzato un valore predefinito di 6.

Crea un servizio Dataproc Metastore multiregionale

Per creare un servizio Dataproc Metastore in più regioni, consulta Configurare un servizio Dataproc Metastore in più regioni.

Crea un servizio Dataproc Metastore utilizzando un VPC condiviso

Un VPC condiviso consente di connettere le risorse Dataproc Metastore da più progetti a una rete VPC comune.

Per creare un servizio Dataproc Metastore configurato con un VPC condiviso, consulta Creare un servizio utilizzando le impostazioni avanzate.

Considerazioni

  • Le reti VPC non sono pertinenti per i servizi Dataproc Metastore configurati con il protocollo dell'endpoint gRPC.

  • Per i servizi Dataproc Metastore configurati con il protocollo dell'endpoint Thrift, assicurati che il tuo servizio Dataproc Metastore e il cluster Dataproc a cui è collegato utilizzino la stessa rete VPC condiviso.

  • Per i servizi Dataproc Metastore configurati con il protocollo dell'endpoint Thrift e Private Service Connect, assicurati di utilizzare le subnet della rete VPC condiviso.

Ruoli IAM richiesti per le reti VPC condiviso

Per creare un servizio Dataproc Metastore con un VPC accessibile in una rete appartenente a un progetto diverso, devi concedere roles/metastore.serviceAgent all'agente di servizio Dataproc Metastore del progetto di servizio (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) nel criterio IAM del progetto di rete.

gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
   --role "roles/metastore.serviceAgent" \
   --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"

Risolvere i problemi comuni

Ecco alcuni problemi comuni:

  • Limitazione del peering VPC. Prima di creare un metastore, non impostare un vincolo dei criteri dell'organizzazione per limitare il peering VPC, altrimenti la creazione del metastore non andrà a buon fine. Per ulteriori informazioni sull'impostazione delle configurazioni VPC corrette, consulta La creazione di servizi non riesce a causa di un vincolo che limita la limitazione del peering VPC.

  • Problemi con le reti VPC. Quando crei un metastore, la rete VPC che stai utilizzando potrebbe esaurire gli indirizzi RFC 1918 disponibili richiesti dai servizi Dataproc Metastore. Per ulteriori informazioni sulla risoluzione di questo problema, consulta L'intervallo IP allocato è esaurito.

Passaggi successivi