En esta página se describe cómo cambiar la versión de la imagen de Dataproc que usa tu instancia de Cloud Data Fusion. Puedes cambiar la imagen en el nivel de instancia, espacio de nombres o canalización.
Antes de empezar
Detén todos los flujos de procesamiento en tiempo real y las tareas de replicación de la instancia de Cloud Data Fusion. Si hay una canalización o una replicación en tiempo real en curso cuando cambias la versión de la imagen de Dataproc, los cambios no se aplican a la ejecución de la canalización.
En el caso de los flujos de procesamiento en tiempo real, si tienen puntos de control habilitados y detienes esos flujos, no se perderá ningún dato. Con respecto a las tareas de replicación, si las detienes y los registros de la base de datos están disponibles, tampoco se perderá ningún dato.
Consola
Ve a la página Instances (Instancias) de Cloud Data Fusion y abre la instancia en la que quieras detener un flujo de procesamiento.
Abre cada flujo de procesamiento en tiempo real en Pipeline Studio y haz clic en Detener.
Abre cada trabajo de replicación en la página Replicar y haz clic en Detener.
API REST
Para obtener todas las canalizaciones, usa la siguiente llamada a la API REST:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
Sustituye
NAMESPACE_ID
por el nombre de tu espacio de nombres.Para detener una canalización en tiempo real, usa la siguiente llamada a la API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
Sustituye NAMESPACE_ID por el nombre de tu espacio de nombres y PIPELINE_NAME por el nombre de la canalización en tiempo real.
Para detener un trabajo de replicación, usa la siguiente llamada a la API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
Sustituye NAMESPACE_ID por el nombre de tu espacio de nombres y REPLICATION_JOB_NAME por el nombre del trabajo de replicación.
Para obtener más información, consulta los artículos sobre cómo detener flujos de procesamiento en tiempo real y tareas de replicación.
Comprobar y anular la versión predeterminada de Dataproc en Cloud Data Fusion
Haga clic en Administrador del sistema > Configuración > Preferencias del sistema.
Si no se especifica una imagen de Dataproc en Preferencias del sistema o quieres cambiar la preferencia, haz clic en Editar preferencias del sistema.
Introduce el siguiente texto en el campo Clave:
system.profile.properties.imageVersion
Introduce la imagen de Dataproc elegida en el campo Valor, como
2.1
.Haz clic en Save & Close (Guardar y cerrar).
Este cambio afecta a toda la instancia de Cloud Data Fusion, incluidos todos sus espacios de nombres y ejecuciones de flujos de procesamiento, a menos que se anule la propiedad de la versión de la imagen en un espacio de nombres, un flujo de procesamiento o un argumento del entorno de ejecución de tu instancia.
Cambiar la versión de la imagen de Dataproc
La versión de la imagen se puede definir en la interfaz web de Cloud Data Fusion en las configuraciones de computación, las preferencias del espacio de nombres o los argumentos del entorno de ejecución del flujo de procesamiento.
Cambiar la imagen en Preferencias de espacio de nombres
Si has anulado la versión de la imagen en las propiedades de tu espacio de nombres, sigue estos pasos:
Haga clic en Administrador del sistema > Configuración > Espacios de nombres.
Abre cada espacio de nombres y haz clic en Preferencias.
Asegúrate de que no haya ninguna anulación con la clave
system.profile.properties.imageVersion
y un valor de versión de imagen incorrecto.Haz clic en Finalizar.
Cambiar la imagen de los perfiles de cálculo del sistema
Haga clic en Administrador del sistema > Configuración.
Haz clic en Sistema Perfiles de cálculo > Crear nuevo perfil.
Selecciona el aprovisionador Dataproc.
Crea el perfil de Dataproc. En el campo Versión de imagen, introduce una versión de imagen de Dataproc.
Selecciona este perfil de cálculo al ejecutar la canalización en la página Studio. En la página de ejecución de la canalización, haga clic en Configurar > Configuración de computación y seleccione este perfil.
Selecciona el perfil de Dataproc y haz clic en Guardar.
Haz clic en Finalizar.
Cambiar la imagen en Argumentos de tiempo de ejecución de la canalización
Si has anulado la versión de la imagen con una propiedad en RuntimeArguments de tu canalización, sigue estos pasos:
Haz clic en menú Menú > Lista.
En la página Lista, selecciona la canalización que quieras actualizar.
La canalización se abre en la página Estudio.
Para desplegar las opciones de Ejecutar, haz clic en la flecha
.Se abrirá la ventana Argumentos de tiempo de ejecución.
Comprueba que no haya ninguna anulación con la clave
system.profile.properties.imageVersion
y una versión de imagen incorrecta como valor.Haz clic en Guardar.
Volver a crear clústeres de Dataproc estáticos que use Cloud Data Fusion con la versión de imagen elegida
Si usas clústeres de Dataproc con Cloud Data Fusion, sigue la guía de Dataproc para volver a crear los clústeres con la versión de imagen de Dataproc que hayas elegido para tu versión de Cloud Data Fusion.
También puedes crear un clúster de Dataproc con la versión de imagen de Dataproc que elijas, y eliminar y volver a crear el perfil de computación en Cloud Data Fusion con el mismo nombre y el nombre del clúster de Dataproc actualizado. De esta forma, los flujos de procesamiento por lotes pueden completar la ejecución en el clúster ya creado y las ejecuciones posteriores de los flujos de procesamiento se realizan en el nuevo clúster de Dataproc. Puedes eliminar el clúster de Dataproc antiguo una vez que hayas confirmado que se han completado todas las ejecuciones de la canalización.
Comprobar que la versión de imagen de Dataproc esté actualizada
Consola
En la Google Cloud consola, ve a la página Clústeres de Dataproc.
Abre la página Detalles del clúster del nuevo clúster que Cloud Data Fusion ha creado al especificar la nueva versión.
El campo Versión de la imagen tiene el nuevo valor que ha especificado en Cloud Data Fusion.
API REST
Obtén la lista de clústeres con sus metadatos:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
Haz los cambios siguientes:
PROJECT_ID
con el nombre de tu espacio de nombresREGION_ID
con el nombre de la región en la que se encuentran tus clústeres
Busca el nombre de tu canalización (nombre del clúster).
Debajo de ese objeto JSON, verás la imagen en
config > softwareConfig > imageVersion
.
Cambiar la imagen de Dataproc a la versión 2.1 o posterior
Las versiones 6.9.1 y posteriores de Cloud Data Fusion admiten la imagen 2.1 de Dataproc Compute Engine, que se ejecuta en Java 11. En las versiones 6.10.0 y posteriores, la imagen 2.1 es la predeterminada.
Si cambias a la imagen 2.1 o a una versión posterior desde una imagen anterior, para que tus canalizaciones por lotes y tus trabajos de replicación se completen correctamente, los controladores JDBC que usen los complementos de la base de datos en esas instancias deben ser compatibles con Java 11.
Las imágenes 2.2 y 2.1 de Dataproc tienen las siguientes limitaciones en Cloud Data Fusion:
- No se admiten las tareas de MapReduce.
- Las versiones de los controladores JDBC que se usan en los complementos de base de datos de tu instancia deben actualizarse para que sean compatibles con Java 11. Consulta la siguiente tabla para ver las versiones de los controladores que funcionan con Dataproc 2.2, 2.1 y Java 11:
Controladores JDBC | Versiones anteriores eliminadas de Cloud Data Fusion 6.9.1 | Versiones compatibles con Java 8 y Java 11 que funcionan con Dataproc 2.2, 2.1 o 2.0 |
---|---|---|
Controlador JDBC de Cloud SQL para MySQL | - | 1.0.16 |
Controlador JDBC de Cloud SQL para PostgreSQL | - | 1.0.16 |
Controlador JDBC de Microsoft SQL Server | Controlador JDBC de Microsoft 6.0 | Controlador JDBC 9.4 de Microsoft |
Controlador JDBC de MySQL | 5.0.8 y 5.1.39 | 8.0.25 |
Controlador JDBC de PostgreSQL | 9.4.1211.jre7, 9.4.1211.jre8 | 42.6.0.jre8 |
Controlador JDBC de Oracle | ojdbc7 | ojdbc8 (12c y versiones posteriores) |
Uso de memoria al usar Dataproc 2.1 o versiones posteriores
El uso de memoria puede aumentar en las canalizaciones que usan Dataproc 2.1 o versiones posteriores. Si actualizas tu instancia a la versión 6.10 o posterior y las canalizaciones anteriores fallan debido a problemas de memoria, aumenta la memoria del controlador y del ejecutor a 2048 MB en la configuración Resources
de la canalización.
También puedes anular la versión de Dataproc configurando el argumento de tiempo de ejecución system.profile.properties.imageVersion
en 2.0-debian10
.