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, questo utilizza il servizio Dataproc Metastore come metastore Hive durante l'esecuzione della query.

Prima di iniziare

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per creare Dataproc Metastore, chiedi all'amministratore di concederti i ruoli IAM seguenti per il 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 anche essere in grado di ottenere questa autorizzazione con i ruoli personalizzati o altri ruoli predefiniti.

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

Crea Dataproc Metastore utilizzando le impostazioni predefinite

La creazione di Dataproc Metastore utilizzando le impostazioni predefinite consente di configurare 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 di us-central.

Dataproc Metastore 2

Le seguenti istruzioni mostrano come creare 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.

    Viene visualizzata 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 la sezione Piani tariffari e configurazioni di scalabilità.

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

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

  6. Seleziona Località dei dati.

    Per ulteriori informazioni sulla selezione della regione appropriata, vedi Regioni e zone disponibili ed Endpoint a livello di regione.

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

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

    Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato visualizzato sarà Creazione in corso finché il servizio non sarà 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 2 Dataproc Metastore 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, consulta 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 istruzioni seguenti mostrano come creare Dataproc Metastore1 utilizzando un endpoint Thrift e le 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.

    Viene visualizzata 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, consulta Convenzione di denominazione delle risorse.

  5. Seleziona Località dei dati.

    Per ulteriori informazioni sulla selezione della regione appropriata, vedi Regioni e zone disponibili ed Endpoint a livello di regione.

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

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

    Il nuovo servizio metastore viene visualizzato nella pagina Dataproc Metastore. Lo stato visualizzato sarà Creazione in corso finché il servizio non sarà 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 mediante le impostazioni avanzate mostra che devi modificare configurazioni di rete e di scalabilità, endpoint, 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.

    Viene visualizzata 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 per l'istanza.

      Per ulteriori informazioni, consulta la sezione Piani tariffari e configurazioni di scalabilità.

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

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

    3. Seleziona Località dei dati.

      Per ulteriori informazioni sulla selezione della regione appropriata, vedi 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 ulteriori informazioni sulla selezione della versione corretta, consulta Criteri relativi alle versioni.

    5. Seleziona Canale di rilascio.

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

    6. Inserisci la Porta TCP.

      La porta TCP a cui si collega l'endpoint Thrift. Se questo valore non viene modificato, viene utilizzato il numero di porta 9083. Se modifichi 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 influisce sulla capacità del servizio. Per ulteriori informazioni, consulta la sezione Livello di servizio.

    Protocollo endpoint

    • (Facoltativo) Scegli un protocollo dell'endpoint.

      L'opzione selezionata predefinita è Apache Thrift. Per ulteriori informazioni sui diversi endpoint, consulta Scegliere il protocollo dell'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 servizio di connettersi solo ad altri servizi nello stesso progetto.

      Modifica le impostazioni di rete predefinite per completare le seguenti azioni:

      • Connetti il tuo servizio Dataproc Metastore ai servizi Dataproc Metastore in altri progetti.
      • Utilizza il servizio Dataproc Metastore con altri servizi Google 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 il periodo di manutenzione.

      Per ulteriori informazioni, consulta 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 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. Vai al file krb5 config.

    2. (Facoltativo) Scegli un tipo di crittografia.

      • L'opzione predefinita selezionata è 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 ulteriori informazioni, consulta Utilizzo delle chiavi di crittografia gestite dal cliente.

    Override della configurazione del Metastore

    • (Facoltativo) Per applicare una mappatura al metastore Hive, fai clic su + Aggiungi override.

    Configurazione della versione ausiliaria

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

      Per saperne di più, consulta la sezione 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 ulteriori informazioni 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.

Avvia 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 sarà Creazione in corso finché il servizio non sarà 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 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 Thhrift. Se non viene configurato, viene usata 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 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 tuo servizio. Ad esempio, 3.1.2. Se non viene configurato, viene utilizzata la versione più recente di Hive.
    • RELEASE_CHANNEL: facoltativo: il canale di rilascio del servizio. Se non viene configurato, viene utilizzato il valore Stable.
    • METADATA_OVERRIDE: facoltativo: il metastore Hive esegue l'override delle configurazioni da 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 la sezione 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 stai connettendo al servizio. Se non viene configurato, viene utilizzato il valore default.

      Se utilizzi una rete VPC che appartiene a un progetto diverso da quello del tuo servizio, devi indicare l'intero nome della risorsa relativo. 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 esistente sia nella keytab che nel KDC. Un'entità tipica è nel formato "primary/instance@REALM", ma non c'è un formato esatto.
    • KRB5_CONFIG (Facoltativo) Il file krb5.config specifica le informazioni relative all'area di autenticazione KDC e Kerberos, incluse le posizioni dei KDC e i valori predefiniti per le applicazioni per l'area di autenticazione e Kerberos.
    • CLOUD_SECRET: facoltativo: il nome risorsa relativo di una versione del 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. Questo override imposta il data warehouse personalizzato come directory del 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 ulteriori informazioni, consulta 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 del Metastore, inserisci i seguenti valori:

    • Chiave: hive.metastore.warehouse.dir.
    • Valore: la località Cloud Storage della directory del warehouse. Ad esempio: gs://my-bucket/path/to/location.
  4. Configura le altre opzioni di servizio in base alle tue esigenze oppure 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 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: il percorso di Cloud Storage della directory del warehouse. Ad esempio: gs://my-bucket/path/to/location.
  2. Verifica che la creazione sia riuscita.

Crea un servizio Dataproc Metastore su più regioni

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

Crea un servizio Dataproc Metastore utilizzando un VPC condiviso

Un VPC condiviso consente di connettere le risorse Dataproc Metastore di 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 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 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 altro progetto, 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 va a buon fine. Per ulteriori informazioni sull'impostazione delle configurazioni VPC corrette, consulta la pagina La creazione del servizio non riesce a causa di un vincolo che limita il 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