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:
Un'istanza Apache Hive autogestita, un'istanza Apache Spark o un cluster Presto.
Dopo aver connesso uno di questi servizi, utilizza il servizio Dataproc Metastore come metastore Hive durante l'esecuzione delle query.
Prima di iniziare
- Scopri le differenze tra un servizio Dataproc Metastore 1 e un servizio Dataproc Metastore 2.
- Abilita Dataproc Metastore nel tuo progetto.
- Comprendi i requisiti di rete specifici per il tuo progetto.
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:
-
Concedi il controllo completo delle risorse Dataproc Metastore (
roles/metastore.editor
) -
Concede l'accesso completo a tutte le risorse Dataproc Metastore, inclusa l'amministrazione dei criteri IAM (
roles/metastore.admin
)
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
Nella console Google Cloud , vai alla pagina Dataproc Metastore.
Nella barra di navigazione, fai clic su + Crea.
Si apre la finestra di dialogo Crea servizio Metastore.
Seleziona Dataproc Metastore 2.
Nella sezione Prezzi e capacità, scegli una dimensione dell'istanza.
Per ulteriori informazioni, consulta piani tariffari e configurazioni di scalabilità.
Nel campo Nome servizio, inserisci un nome univoco per il servizio.
Per informazioni sulle convenzioni di denominazione, vedi Convenzione di denominazione delle risorse.
Seleziona la Località dei dati.
Per saperne di più sulla selezione della regione appropriata, consulta Regioni e zone disponibili e Endpoint regionale.
Per le opzioni di configurazione del servizio rimanenti, utilizza i valori predefiniti forniti.
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
olarge
. Se specifichi un valore perINSTANCE_SIZE
, non specificare un valore perSCALING_FACTOR
.SCALING_FACTOR
: il fattore di scalabilità del servizio Dataproc Metastore. Ad esempio:0.1
. Se specifichi un valore perSCALING_FACTOR
, non specificare un valore perINSTANCE_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
Nella console Google Cloud , vai alla pagina Dataproc Metastore.
Nella barra di navigazione, fai clic su + Crea.
Si apre la finestra di dialogo Crea servizio Metastore.
Seleziona Dataproc Metastore 1.
Nel campo Nome servizio, inserisci un nome univoco per il servizio.
Per informazioni sulle convenzioni di denominazione, vedi Convenzione di denominazione delle risorse.
Seleziona la Località dei dati.
Per saperne di più sulla selezione della regione appropriata, consulta Regioni e zone disponibili e Endpoint regionale.
Per le opzioni di configurazione del servizio rimanenti, utilizza i valori predefiniti forniti.
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:
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.
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
Nella console Google Cloud , apri la pagina Dataproc Metastore:
Nel menu di navigazione, fai clic su + Crea.
Si apre la finestra di dialogo Crea servizio Metastore.
Seleziona la versione di Metastore che vuoi utilizzare, Dataproc Metastore 1 o Dataproc Metastore 2.
Informazioni sul servizio
Esempio della pagina Crea servizio (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à.
Nel campo Nome servizio, inserisci un nome univoco per il servizio.
Per informazioni sulle convenzioni di denominazione, vedi Convenzione di denominazione delle risorse.
Seleziona la Località dei dati.
Per saperne di più sulla selezione della regione appropriata, consulta Regioni e zone disponibili e Endpoint regionale.
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.
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.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 in443
e non può essere modificato.(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
Seleziona una configurazione di rete.
Per impostazione predefinita, il servizio viene esposto solo in una rete VPC e utilizza la rete
default
. La retedefault
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.
(Facoltativo) Fai clic su Utilizza rete VPC condivisa e inserisci l'ID progetto e il nome della rete VPC.
(Facoltativo) Fai clic su Rendi i servizi accessibili in più subnet VPC e seleziona le subnet. Puoi specificare fino a cinque subnet.
Fai clic su Fine.
Integrazione dei metadati
(Facoltativo) Attiva la sincronizzazione di Data Catalog.
Per saperne di più, consulta Sincronizzazione da Dataproc Metastore a Data Catalog.
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
(Facoltativo) Attiva Kerberos.
- Per attivare Kerberos, fai clic sul pulsante di attivazione/disattivazione.
- Seleziona o inserisci l'ID risorsa del secret.
- Scegli di utilizzare l'ultima versione del secret o selezionane una precedente.
Inserisci l'entità Kerberos.
Questa è l'entità allocata per questo servizio Dataproc Metastore.
Individua il file di configurazione krb5.
(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
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 porta9083
. Se scegli di utilizzare un endpoint gRPC, il numero di porta cambia automaticamente in443
.TIER
: facoltativo per Dataproc Metastore 1: Il livello di servizio del nuovo servizio. Se non viene impostato, viene utilizzato il valoreDeveloper
.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 valoreStable
.METADATA_OVERRIDE
: (facoltativo) Le configurazioni di override del metastore Hive che vuoi applicare al servizio. Utilizza un elenco separato da virgole nel seguente formatok1=v1,k2=v2,k3=v3
.LABELS
: (facoltativo) coppie chiave/valore per aggiungere metadati aggiuntivi al servizio. Utilizza un elenco separato da virgole nel seguente formatok1=v1,k2=v2,k3=v3
. Dataproc MetastoreAUXILIARY_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
olarge
. Se specifichi un valore perINSTANCE_SIZE
, non specificare un valore perSCALING_FACTOR
.SCALING_FACTOR
: facoltativo per Dataproc Metastore 2: il fattore di scalabilità del servizio Dataproc Metastore. Ad esempio:0.1
. Se specifichi un valore perSCALING_FACTOR
, non specificare un valore perINSTANCE_SIZE
.
Impostazioni di rete:
NETWORK
: il nome della rete VPC a cui ti connetti al tuo servizio. Se non viene impostato, viene utilizzato il valoredefault
.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.
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
Nella console Google Cloud , apri la pagina Dataproc Metastore:
Nella barra di navigazione, fai clic su + Crea.
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
.
- Chiave:
Configura le opzioni di servizio rimanenti in base alle tue esigenze o utilizza i valori predefiniti forniti.
Fai clic su Invia.
Torna alla pagina Dataproc Metastore e verifica che il servizio sia stato creato correttamente.
Interfaccia a riga di comando gcloud
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
.
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
e6
, rispettivamente.
Scegli una delle seguenti schede per scoprire come creare un servizio Dataproc Metastore 2 con scalabilità automatica attivata.
Console
Nella console Google Cloud , vai alla pagina Dataproc Metastore.
Nella barra di navigazione, fai clic su + Crea.
Si apre la finestra di dialogo Crea servizio Metastore.
Seleziona Dataproc Metastore 2.
Nella sezione Prezzi e capacità, seleziona Enterprise - Regione singola.
In Dimensioni istanza, fai clic su Abilita scalabilità automatica.
In Dimensioni istanza, utilizza il cursore per scegliere una dimensione minima e massima dell'istanza.
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 predefinito0.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 predefinito6
.
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.