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 a nivel de la instancia, el espacio de nombres o la canalización.
Antes de comenzar
Detén todas las canalizaciones en tiempo real y los trabajos de replicación en la instancia de Cloud Data Fusion. Si se está ejecutando una canalización o una replicación en tiempo real 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 las canalizaciones en tiempo real, si se habilitó la creación de puntos de control, detener las canalizaciones no provoca pérdida de datos. En el caso de los trabajos de replicación, siempre que los registros de la base de datos estén disponibles, detener y reiniciar el trabajo de replicación no causa pérdida de datos.
Console
Ve a la página Instances de Cloud Data Fusion y abre la instancia en la que necesitas detener una canalización.
Abre cada canalización en tiempo real en Pipeline Studio y haz clic en Detener.
Abre cada trabajo de replicación en la página Replicate y haz clic en Stop.
API de REST
Para recuperar todas las canalizaciones, usa la siguiente llamada a la API de REST:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
Reemplaza
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 de REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
Reemplaza 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 de REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
Reemplaza 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 cómo detener las canalizaciones en tiempo real y cómo detener los trabajos de replicación.
Cómo verificar y anular la versión predeterminada de Dataproc en Cloud Data Fusion
Haz clic en Administrador del sistema > Configuración > Preferencias del sistema.
Si no se especifica una imagen de Dataproc en las preferencias del sistema o si quieres cambiar la preferencia, haz clic en Editar las preferencias del sistema.
Ingresa el siguiente texto en el campo Clave:
system.profile.properties.imageVersion
Ingresa la imagen de Dataproc elegida en el campo Value, como
2.1
.Haz clic en Guardar y cerrar.
Este cambio afecta a toda la instancia de Cloud Data Fusion, incluidos todos sus espacios de nombres y ejecuciones de canalizaciones, a menos que se anule la propiedad de la versión de la imagen en un espacio de nombres, una canalización o un argumento de tiempo de ejecución en tu instancia.
Cómo cambiar la versión de imagen de Dataproc
La versión de la imagen se puede configurar en la interfaz web de Cloud Data Fusion en las opciones de configuración de Compute, las preferencias de espacio de nombres o los argumentos de tiempo de ejecución de la canalización.
Cómo cambiar la imagen en las preferencias de espacio de nombres
Si anulaste la versión de la imagen en las propiedades del espacio de nombres, sigue estos pasos:
Haz 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
que tenga un valor de versión de imagen incorrecto.Haz clic en Finalizar.
Cómo cambiar la imagen en System Compute Profiles
Haz clic en Administrador del sistema > Configuración.
Haz clic en System Compute Profiles > Create New Profile.
Selecciona el aprovisionador de Dataproc.
Crea el perfil para Dataproc. En el campo Versión de imagen, ingresa una versión de imagen de Dataproc.
Selecciona este perfil de procesamiento mientras ejecutas la canalización en la página Studio. En la página de ejecución de la canalización, haz clic en Configurar > Configuración de procesamiento y selecciona este perfil.
Selecciona el perfil de Dataproc y haz clic en Guardar.
Haz clic en Finalizar.
Cómo cambiar la imagen en los argumentos del entorno de ejecución de la canalización
Si anulaste la versión de la imagen con una propiedad en los argumentos de tiempo de ejecución de tu canalización, sigue estos pasos:
Haz clic en menú. Menú > Lista.
En la página Lista, selecciona la canalización que deseas actualizar.
Se abrirá la canalización en la página Studio.
Para expandir las opciones de Ejecutar, haz clic en la flecha de expansión
.Se abrirá la ventana Runtime Arguments.
Verifica que no haya una anulación con la clave
system.profile.properties.imageVersion
con una versión de imagen incorrecta como valor.Haz clic en Guardar.
Vuelve a crear los clústeres estáticos de Dataproc que usa Cloud Data Fusion con la versión de imagen elegida
Si usas clústeres existentes 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 elegida para tu versión de Cloud Data Fusion.
Como alternativa, puedes crear un clúster de Dataproc nuevo con la versión de imagen de Dataproc elegida, y borrar y volver a crear el perfil de procesamiento en Cloud Data Fusion con el mismo nombre de perfil de procesamiento y el nombre actualizado del clúster de Dataproc. De esta manera, la ejecución de las canalizaciones por lotes se puede completar en el clúster existente y las ejecuciones de canalizaciones posteriores se realizan en el nuevo clúster de Dataproc. Puedes borrar el clúster de Dataproc anterior después de confirmar que se completaron todas las ejecuciones de la canalización.
Verifica que la versión de la imagen de Dataproc esté actualizada
Console
En la consola de Google Cloud , ve a la página Clústeres de Dataproc.
Abre la página Detalles del clúster del clúster nuevo que creó Cloud Data Fusion cuando especificaste la versión nueva.
El campo Versión de la imagen tiene el nuevo valor que especificaste en Cloud Data Fusion.
API de 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
Reemplaza lo siguiente:
PROJECT_ID
por el nombre de tu espacio de nombresREGION_ID
por 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
.
Cambia 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 posterior desde una imagen anterior, para que tus canalizaciones por lotes y trabajos de replicación se ejecuten correctamente, los controladores JDBC que usan 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 los trabajos de MapReduce.
- Las versiones de los controladores JDBC que se usan en los complementos de la base de datos de tu instancia deben actualizarse para admitir Java 11. Consulta la siguiente tabla para conocer las versiones de los controladores que funcionan con Dataproc 2.2, 2.1 y Java 11:
Controladores de JDBC | Versiones anteriores quitadas 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 de Microsoft 9.4 |
Controlador JDBC de MySQL | 5.0.8, 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 cuando se usa Dataproc 2.1 o versiones posteriores
Es posible que el uso de memoria aumente 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 de Resources
para la canalización.
Como alternativa, puedes anular la versión de Dataproc configurando el argumento de tiempo de ejecución system.profile.properties.imageVersion
en 2.0-debian10
.