La migrazione gestita è una funzionalità automatica che consente di eseguire la migrazione dei dati da un metastore Hive autogestito a un servizio Dataproc Metastore senza tempi di riposo significativi (noto anche come flag day).
Architettura di migrazione gestita
Il seguente diagramma mostra l'architettura di alto livello di una migrazione gestita.
Flusso di migrazione gestita
Per completare una migrazione gestita, il servizio esegue due procedimenti di migrazione: avvia migrazione e completa migrazione. Puoi annullare una migrazione in qualsiasi momento con la procedura di annullamento della migrazione. Puoi anche eseguire una serie di comandi operativi che non sono obbligatori per completare una migrazione. Ad esempio, list migrations o delete migrations.
Man mano che il servizio avanza in questa procedura, passa anche da vari stati di migrazione e fasi di migrazione. Questi stati e fasi rappresentano i processi in esecuzione in background. Ad esempio, lo stato MIGRATING
indica che il servizio sta trasferendo attivamente i dati dal database Cloud SQL a Dataproc Metastore.
Avvia migrazione
Dataproc Metastore stabilisce una connessione con la tua istanza Cloud SQL con indirizzo IP privato. Una volta stabilita la connessione, Dataproc Metastore utilizza l'istanza Cloud SQL come database di backend di Hive Metastore (HMS). Inoltre, rimane la fonte di verità per i tuoi dati durante la migrazione. Le letture e le scritture dei metadati si verificano comunque in Cloud SQL quando la migrazione è attiva.
È stata avviata una pipeline Change Data Capture (CDC). Questa pipeline mantiene sincronizzate l'istanza Cloud SQL nel progetto e Spanner nel progetto gestito da Dataproc Metastore. Ciò significa che tutte le modifiche al database HMS nell'istanza Cloud SQL vengono acquisite tramite Datastream e scritte nel database Spanner di Dataproc Metastore.
Una volta completato il processo di avvio della migrazione, puoi iniziare a instradare i carichi di lavoro dei dati a Dataproc Metastore. A questo punto, Cloud SQL è ancora la fonte attendibile per i tuoi dati.
Completare la migrazione
Dopo aver completato il trasferimento dei carichi di lavoro in Dataproc Metastore, puoi completare la migrazione. Quando viene chiamata una procedura di migrazione completa, avviene quanto segue:
- Dataproc Metastore passa alla modalità di sola lettura fino al completamento del processo di migrazione completa.
- Lo stream CDC trasferisce tutti i dati in transito a Dataproc Metastore.
- Dataproc Metastore si connette a Spanner e si scollegano da Cloud SQL. Ora Dataproc Metastore funge da fonte di verità per i dati HMS.
Considerazioni su proxy e pipeline
Proxy
Dataproc Metastore utilizza un proxy di autenticazione Cloud SQL chained a un proxy SOCKS5 per connettersi all'istanza Cloud SQL con IP privato. I server proxy SOCKS5 vengono esposti tramite un allegato del servizio, come mostrato nel diagramma dell'architettura precedente.
Ogni migrazione richiede una subnet NAT dedicata. Questo accade perché una subnet NAT non può avere più di un collegamento del servizio.
Per evitare problemi di latenza tra regioni, fornisci sottoreti che si trovino nella stessa regione dell'istanza Cloud SQL per ospitare il proxy SOCKS5. Ad esempio,
proxy_subnet
enat_subnet
.
Pipeline Change Data Capture
La pipeline di acquisizione dei dati modificati utilizza il peering VPC per stabilire una connessione tra Datastream e Cloud SQL con IP privato
Per ogni migrazione viene creata una nuova connessione privata e viene stabilita una nuova connessione di peering.
La rete VPC che ospita l'istanza Cloud SQL ha un numero di connessioni di peering pari al numero di migrazioni attive. Assicurati che la rete VPC abbia la capacità di ospitare tutte le connessioni di peering necessarie.