La migración administrada es una función automatizada que te ayuda a migrar datos desde un Hive Metastore autoadministrado a un servicio de Dataproc Metastore, sin durante períodos de inactividad considerables (lo que también se conoce como día de la bandera).
Arquitectura de migración administrada
En el siguiente diagrama, se muestra la arquitectura de alto nivel de una migración de sistemas.
Flujo de migración administrada
Para completar una migración administrada, tu servicio ejecuta dos migraciones procesos: comenzar la migración y completar la migración. Puedes cancelar una migración en cualquier momento mediante el proceso de cancelación de la migración. También hay varios comandos operativos que puedes ejecutar, que no son necesarios para completar una migración. Por ejemplo, list migrations o delete migrations.
A medida que tu servicio avanza por este proceso, también se mueve entre varias
estados de migración y fases de migración. Estos estados y fases representan los procesos que se producen en segundo plano. Por ejemplo, MIGRATING
.
indica que tu servicio está transfiriendo datos de forma activa desde tu
Base de datos de Cloud SQL en Dataproc Metastore.
Iniciar la migración
Dataproc Metastore establece una conexión con tu instancia de Cloud SQL con IP privada. Una vez que se establece la conexión, Dataproc Metastore usa la instancia de Cloud SQL tal como está Base de datos de backend de Hive Metastore (HMS). También permanece como la fuente de verdad para tus datos durante la migración. Las operaciones de lectura y escritura de metadatos aún se realizan en Cloud SQL cuando la migración está activa.
Se inicia una canalización de captura de datos modificados (CDC). Esta canalización mantiene sincronizados la instancia de Cloud SQL en tu proyecto y Spanner en el proyecto administrado de Dataproc Metastore. Esto significa que todos los cambios en la base de datos de HMS de la instancia de Cloud SQL se capturan a través de Datastream y se escriben en la base de datos de Spanner de Dataproc Metastore.
Una vez que el proceso de inicio de la migración sea exitoso, puedes comenzar a enrutar de datos a Dataproc Metastore. En este punto, Cloud SQL sigue siendo la fuente de información de tus datos.
Completa la migración
Cuando termines de mover tus cargas de trabajo a Dataproc Metastore, debes puedan completar la migración. Cuando se llama a un proceso de migración completa, ocurre lo siguiente:
- Dataproc Metastore pasa al modo de solo lectura hasta que finalice el proceso de migración completa.
- La transmisión de CDC transfiere todos los datos en tránsito a Dataproc Metastore.
- Dataproc Metastore se conecta a Spanner y se desconecta de Cloud SQL. Dataproc Metastore ahora actúa como la fuente de información de tus datos de HMS.
Consideraciones de proxy y canalización
Proxies
Dataproc Metastore usa un proxy de autenticación de Cloud SQL encadenado a un proxy SOCKS5 para conectarse a tu instancia de Cloud SQL con IP privada. Los servidores proxy SOCKS5 se exponen a través de un adjunto de servicio como se muestra a continuación en el diagrama de arquitectura anterior.
Cada migración requiere una subred de NAT dedicada. Esto se debe a que una subred NAT no puede tener más de un adjunto de servicio.
Para evitar problemas de latencia entre regiones, proporciona subredes que se encuentren en la misma región que tu instancia de Cloud SQL para alojar el proxy SOCKS5. Por ejemplo,
proxy_subnet
ynat_subnet
Canalización de captura de datos de cambios
La canalización de captura de datos de cambios usa el intercambio de tráfico de VPC para establecer una conexión entre Datastream y Cloud SQL con IP privada.
Para cada migración, se crea una nueva conexión privada y una nueva intercambio de tráfico entre redes de VPC.
La red de VPC que aloja la instancia de Cloud SQL tiene tantas conexiones de intercambio de tráfico como haya migraciones activas. Asegúrate de que tu red de VPC tenga la capacidad de alojar todas las conexiones de intercambio de tráfico necesarias.