Cambia la versión de la imagen de Dataproc en Cloud Data Fusion

En esta página, se describe cómo cambiar la versión de imagen de Dataproc que usa tu instancia de Cloud Data Fusion. Puedes cambiar la imagen a nivel de instancia, espacio de nombres o canalización.

Antes de comenzar

Detén todas las canalizaciones y los trabajos de replicación en tiempo real en la instancia de Cloud Data Fusion. Si una canalización o replicación en tiempo real está en ejecución cuando cambias la versión de 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 el punto de control está habilitado, detener las canalizaciones no causa ninguna 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, luego, iniciar el trabajo de replicación no causa la pérdida de datos.

Console

  1. Ve a la página Instancias de Cloud Data Fusion (en CDAP, haz clic en Ver instancias) y abre la instancia en la que necesitas detener una canalización.

    Ir a Instancias

  2. Abre cada canalización en tiempo real en Pipeline Studio y haz clic en Detener.

  3. Abre cada trabajo de replicación en la página Replicar y haz clic en Detener.

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 Detén canalizaciones en tiempo real y Detén trabajos de replicación.

Verifica y anula la versión predeterminada de Dataproc en Cloud Data Fusion

  1. Ir a la interfaz web de Cloud Data Fusion

  2. Haz clic en Administrador del sistema > Configuración > Preferencias del sistema.

    Editar preferencias del sistema

  3. Si no se especifica una imagen de Dataproc en Preferencias del sistema o si deseas cambiar la preferencia, haz clic en Editar preferencias del sistema.

    1. Ingresa el siguiente texto en el campo Clave:

      system.profile.properties.imageVersion

    2. Ingresa la imagen de Dataproc elegida en el campo Valor, como 2.1.

    3. Haz clic en Guardar y cerrar.

Establecer preferencias para el sistema

Este cambio afecta a toda la instancia de Cloud Data Fusion, incluidos todos los espacios de nombres y las ejecuciones de canalizaciones, a menos que la propiedad de la versión de la imagen se anule en un espacio de nombres, una canalización o un argumento de entorno de ejecución en tu instancia.

Cambia la versión de la imagen de Dataproc

La versión de la imagen se puede establecer en la interfaz web de Cloud Data Fusion en Configuraciones de procesamiento, preferencias de espacio de nombres o argumentos del entorno de ejecución de la canalización.

Cambia 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:

  1. Ir a la interfaz web de Cloud Data Fusion

  2. Haz clic en Administrador del sistema > Configuración > Espacios de nombres.

  3. Abre cada espacio de nombres y haz clic en Preferencias.

    1. Asegúrate de que no haya ninguna anulación con la clave system.profile.properties.imageVersion con un valor de versión de la imagen incorrecto.

    2. Haz clic en Finalizar.

Cambia la imagen en los perfiles de procesamiento del sistema

  1. Ir a la interfaz web de Cloud Data Fusion

  2. Haz clic en Administrador del sistema > Configuración.

  3. Haz clic en Sistema Perfiles de procesamiento > Crear perfil nuevo.

  4. Selecciona el aprovisionador de Dataproc.

    Selecciona el aprovisionador

  5. Crea el perfil para Dataproc. En el campo Versión de la imagen, ingresa una versión de la imagen de Dataproc.

    Campo de versión de la imagen

  6. 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.

  7. Selecciona el perfil de Dataproc y haz clic en Guardar.

  8. Haz clic en Finalizar.

Cambiar la imagen en los argumentos del entorno de ejecución de la canalización

Si anulaste la versión de imagen con una propiedad en los argumentos del entorno de ejecución de tu canalización, sigue estos pasos:

  1. Ir a la interfaz web de Cloud Data Fusion

  2. Haz clic en Menú > Lista.

  3. En la página Lista, selecciona la canalización que deseas actualizar.

    La canalización se abrirá en la página de Studio.

  4. Para expandir las opciones de Run, haz clic en la flecha de expansión .

    Se abrirá la ventana Argumentos del entorno de ejecución.

  5. Comprueba que no haya ninguna anulación con la clave system.profile.properties.imageVersion con una versión de imagen incorrecta como valor.

  6. Haz clic en Guardar.

    Configura el argumento del entorno de ejecución de la canalización

Recrea los clústeres estáticos de Dataproc que usa Cloud Data Fusion con la versión de imagen elegida

Si usas clústeres de Dataproc existentes con Cloud Data Fusion, sigue la guía de Dataproc a fin de recrear los clústeres con la versión de imagen elegida de Dataproc 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 mismo nombre de clúster de Dataproc actualizado. De esta manera, la ejecución de canalizaciones por lotes puede completar la ejecución en el clúster existente y las ejecuciones posteriores de canalizaciones se realizan en el clúster nuevo de Dataproc. Puedes borrar el clúster de Dataproc anterior después de confirmar que se completaron todas las ejecuciones de canalizaciones.

Verifica que la versión de la imagen de Dataproc esté actualizada

Console

  1. En la consola de Google Cloud, ve a la página Clústeres de Dataproc.

    Ir a los clústeres

  2. 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 valor nuevo que especificaste en Cloud Data Fusion.

API de REST

  1. 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 nombres
    • REGION_ID por el nombre de la región en la que se encuentran los clústeres
  2. Busca el nombre de tu canalización (nombre del clúster).

  3. Debajo de ese objeto JSON, consulta la imagen en config > softwareConfig > imageVersion.

Cambiar la imagen de Dataproc a la versión 2.1

Las versiones 6.9.1 y posteriores de Cloud Data Fusion admiten la imagen de Dataproc 2.1 de Compute Engine, que se ejecuta en Java 11. En las versiones 6.10.0 y posteriores, la imagen 2.1 es el valor predeterminado.

Si cambias a la imagen 2.1, para que tus canalizaciones por lotes y trabajos de replicación se realicen de forma correcta, los controladores de JDBC que los complementos de base de datos usan en esas instancias deben ser compatibles con Java 11.

La imagen 2.1 de Dataproc tiene las siguientes limitaciones en Cloud Data Fusion:

  • Los controladores JDBC de IBM Netezza y DB2 11 no son compatibles.
  • La imagen 2.1 no funcionará con los trabajos de reducción de mapas.
  • Las versiones del controlador JDBC que se usan en los complementos de base de datos en tu instancia deben actualizarse para que sean compatibles con Java 11. Consulta la siguiente tabla para conocer las versiones de controladores que funcionan con Dataproc 2.1 y Java 11:
Controladores de JDBC Versiones anteriores que se quitaron de Cloud Data Fusion 6.9.1 Versiones compatibles con Java 8 y Java 11 que funcionan con Dataproc 2.0 o 2.1
Controlador JDBC de Cloud SQL para MySQL - 1.0.16
Controlador JDBC de Cloud SQL para PostgreSQL - 1.0.16
Controlador JDBC de DB2 11 - -
Controlador JDBC de Microsoft SQL Server Controlador de Microsoft JDBC 6.0 Controlador de Microsoft JDBC 9.4
Controlador JDBC de MySQL 5.0.8, 5.1.39 8.0.25
Controlador JDBC de IBM Netezza - -
Controlador JDBC de PostgreSQL 9.4.1211.jre7, 9.4.1211.jre8 42.6.0.jre8
Controlador de JDBC de Oracle ojdbc7 ojdbc8 (12c y posteriores)

Uso de memoria cuando se usa Dataproc 2.1

El uso de memoria puede aumentar en las canalizaciones que usan clústeres de Dataproc 2.1. Si actualizas tu instancia a la versión 6.10.0 o posterior y las canalizaciones anteriores fallan debido a problemas de memoria, aumenta la memoria del controlador y del ejecutor a 2, 048 MB en la configuración Resources de la canalización.Configurar los recursos

Como alternativa, puedes anular la versión de Dataproc si configuras el argumento del entorno de ejecución system.profile.properties.imageVersion en 2.0-debian10.