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 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 l'autorizzazione necessaria per creare un Dataproc Metastore, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto, in base al principio del privilegio minimo:

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

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

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

Crea Dataproc Metastore utilizzando le impostazioni predefinite

La creazione di un Dataproc Metastore utilizzando le impostazioni predefinite configura il servizio con un livello Enterprise, una dimensione dell'istanza media, l'ultima versione di Hive Metastore, un endpoint Thrift e una posizione dei dati di us-central1.

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 dell'istanza.

    Per ulteriori informazioni, consulta piani tariffari e 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 la Località dei dati.

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

  7. Per le opzioni di configurazione del servizio rimanenti, 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 visualizzato è Creazione in corso finché il servizio non è pronto per essere utilizzato. Quando è pronto, lo stato cambia in 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 il seguente 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 Google Cloud regione in cui vuoi creare Dataproc Metastore. Puoi anche impostare una posizione predefinita.

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

  • INSTANCE_SIZE: le dimensioni dell'istanza del tuo Dataproc Metastore multiregionale. 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 la Località dei dati.

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

  6. Per le opzioni di configurazione del servizio rimanenti, 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 visualizzato è Creazione in corso finché il servizio non è pronto per essere utilizzato. Quando è pronto, lo stato cambia in 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 come 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 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

    Crea pagina del 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 piani tariffari e 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 la Località dei dati.

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

    4. Seleziona la versione del metastore di Hive.

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

      Per ulteriori informazioni sulla selezione della versione corretta, consulta le norme relative alle versioni.

    5. Seleziona il canale di rilascio.

      Se questo valore non viene modificato, il metastore utilizza il valore Stable. Per saperne di più, consulta la pagina 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 modifichi l'endpoint in gRPC, questo valore viene modificato automaticamente in 443 e non può essere modificato.

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

      Il livello di servizio influisce sulla capacità del servizio. Per ulteriori informazioni, vedi Livello di servizio.

    Protocollo endpoint

    • (Facoltativo) Scegli un protocollo endpoint.

      L'opzione selezionata per impostazione predefinita è Apache Thrift. Per saperne di più sui diversi endpoint, consulta Scegliere il protocollo dell'endpoint.

    Configurazione di rete

    1. Seleziona una configurazione di rete.

      Per impostazione predefinita, il servizio viene esposto solo in una 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 di rete predefinite per completare le seguenti azioni:

      • Collega il servizio Dataproc Metastore ai servizi Dataproc Metastore in altri progetti.
      • Utilizza il servizio Dataproc Metastore con altri serviziGoogle Cloud , ad esempio il cluster Dataproc.
    2. (Facoltativo) Fai clic su Utilizza rete VPC condivisa e inserisci l'ID progetto e il nome della 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 il giorno della settimana e l'ora del giorno per la periodo di manutenzione.

      Per saperne di più, consulta Periodi di manutenzione.

    Sicurezza

    1. (Facoltativo) Attiva Kerberos.

      1. Per attivare Kerberos, fai clic sul pulsante di attivazione/disattivazione.
      2. Seleziona o inserisci l'ID risorsa del secret.
      3. Scegli di utilizzare l'ultima versione del secret o selezionane una precedente.
      4. Inserisci l'entità Kerberos.

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

      5. Individua il file di configurazione krb5.

    2. (Facoltativo) Scegli un tipo di crittografia.

      • L'opzione selezionata per impostazione predefinita è Google-managed encryption key.

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

        Per saperne di più, vedi Utilizzare le chiavi di crittografia gestite dal cliente.

    Override di configurazione metastore

    • (Facoltativo) Per applicare una mappatura all'Hive Metastore, fai clic su + Aggiungi override.

    Configurazione della versione ausiliaria

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

      Per saperne di più, consulta 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, vedi Tipi di database.

    Etichette

    • (Facoltativo) Per aggiungere o rimuovere 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 visualizzato è Creazione in corso finché il servizio non è pronto per essere utilizzato. Quando è pronto, lo stato cambia in 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 nuovo servizio Dataproc Metastore.
    • LOCATION: la Google Cloud regione in cui vuoi creare Dataproc Metastore. Puoi anche impostare una posizione predefinita.
    • PORT: (facoltativo) La porta TCP utilizzata dall'endpoint Thrift. Se non è impostata, viene utilizzata la porta 9083. Se scegli di utilizzare un endpoint gRPC, il numero di porta cambia automaticamente in 443.
    • TIER: facoltativo per Dataproc Metastore 1: Il livello di servizio del nuovo servizio. Se non viene impostato, viene utilizzato il valore Developer.
    • ENDPOINT_PROTOCOL: (Facoltativo) Scegli il protocollo 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, vedi Tipi di database.
    • DATA_CATALOG_SYNC: (Facoltativo) attiva la funzionalità Sincronizzazione di Data Catalog.
    • HIVE_METASTORE_VERSION: (facoltativo) la versione di Hive Metastore che vuoi utilizzare con il servizio. Ad esempio, 3.1.2. Se non viene impostata, viene utilizzata l'ultima versione di Hive.
    • RELEASE_CHANNEL: (Facoltativo) il canale di rilascio del servizio. Se non viene impostato, viene utilizzato il valore Stable.
    • METADATA_OVERRIDE: (facoltativo) Le configurazioni di override del metastore Hive che vuoi applicare al servizio. Utilizza un elenco separato da virgole nel seguente formato k1=v1,k2=v2,k3=v3.
    • LABELS: (facoltativo) coppie chiave/valore per aggiungere metadati aggiuntivi al servizio. Utilizza un elenco separato da virgole nel seguente formato k1=v1,k2=v2,k3=v3. Dataproc Metastore
    • AUXILIARY_VERSION: (facoltativo) abilita le versioni ausiliarie. Per saperne di più, consulta Versioni ausiliarie.

    Impostazioni di scalabilità:

    • INSTANCE_SIZE: facoltativo per Dataproc Metastore 2: le dimensioni dell'istanza del tuo Dataproc Metastore multiregionale. 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 specifichi un valore per SCALING_FACTOR, non specificare un valore per INSTANCE_SIZE.

    Impostazioni di rete:

    • NETWORK: il nome della rete VPC a cui ti connetti al tuo servizio. Se non viene impostato, viene utilizzato il valore default.

      Se utilizzi una rete VPC appartenente 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 5 subnet.

    Impostazioni Kerberos:

    • KERBEROS_PRINCIPAL: (facoltativo) un'entità Kerberos che esiste sia nel file keytab sia nel KDC. Un'entità tipica ha la forma "primary/instance@REALM", ma non esiste un formato esatto.
    • KRB5_CONFIG: (facoltativo) Il file krb5.config specifica le informazioni sul KDC e sul realm Kerberos, tra cui le posizioni dei KDC e i valori predefiniti per il realm e le applicazioni Kerberos.
    • CLOUD_SECRET: facoltativo: il nome della risorsa relativa di una versione del secret di Secret Manager.
    • KMS_KEY: (Facoltativo) si riferisce all'ID risorsa chiave.
  2. Verifica che la creazione sia andata a buon fine.

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. Questo override imposta il data warehouse personalizzato come directory del data warehouse predefinita per il servizio Dataproc Metastore.

Prima di impostare questa sostituzione, 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 sezione 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 di configurazione 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 opzioni di servizio rimanenti in base alle tue esigenze o utilizza i valori predefiniti forniti.

  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 di Hive, esegui il seguente 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 Google Cloud regione in cui vuoi creare Dataproc Metastore. Puoi anche impostare una posizione predefinita.
    • CUSTOMER_DIR: la posizione Cloud Storage della directory del magazzino. Ad esempio: gs://my-bucket/path/to/location.
  2. Verifica che la creazione sia andata a buon fine.

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

  • La scalabilità automatica e i fattori 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 singola regione.
  • Quando la scalabilità automatica è abilitata, le impostazioni dei fattori di scalabilità esistenti vengono cancellate.
  • Quando la scalabilità automatica è disabilitata:
    • Le impostazioni di scalabilità automatica esistenti vengono 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 vengono impostati, i valori predefiniti sono 0.1 e 6, rispettivamente.

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

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 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 visualizzato è Creazione in corso finché il servizio non è pronto per essere utilizzato. Quando è pronto, lo stato cambia in 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 questi valori non sono specificati, viene utilizzato il valore predefinito 0.1.
  • MAX_INSTANCES(Facoltativo) Il numero massimo di istanze da utilizzare nella configurazione della scalabilità automatica. Se questi valori non sono specificati, viene utilizzato il valore predefinito 6.

Crea un servizio Dataproc Metastore multiregionale

Per creare un Dataproc Metastore multiregionale, consulta Configura un servizio Dataproc Metastore multiregionale.

Crea un servizio Dataproc Metastore utilizzando il VPC condiviso

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

Per creare un servizio Dataproc Metastore configurato con un VPC condiviso, consulta Crea 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 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 (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) del progetto di servizio 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

Alcuni problemi comuni includono:

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

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

Passaggi successivi