Configuración del clúster de Dataproc

En Cloud Data Fusion, la configuración del clúster se refiere a definir cómo Las canalizaciones de procesamiento de datos usan recursos de procesamiento cuando se ejecuta Spark trabajos en Dataproc. En esta página, se describen los enfoques principales configuración del clúster.

Clústeres efímeros predeterminados (recomendado)

El uso de clústeres predeterminados es el enfoque recomendado Canalizaciones de Cloud Data Fusion.

  • Cloud Data Fusion aprovisiona y administra automáticamente Clústeres de Dataproc para cada ejecución de canalización. Crea un clúster al comienzo de la ejecución de la canalización y, luego, lo borra se complete la ejecución de la canalización.
  • Beneficios de los clústeres efímeros:
    • Simplicidad: no necesitas configurar ni administrar manualmente el clúster.
    • Rentabilidad: solo pagas por los recursos usados durante la ejecución de la canalización.

Para ajustar los clústeres y mejorar el rendimiento, consulta Tamaño del clúster.

Clústeres estáticos (para situaciones específicas)

En las siguientes situaciones, puedes usar clústeres estáticos:

  • Canalizaciones de larga duración: Para canalizaciones que se ejecutan de forma continua o para períodos extensos, un clúster estático puede ser más rentable que crear y eliminar clústeres efímeros de forma repetida.
  • Administración centralizada de los clústeres: Si la organización lo requiere ofrece un control centralizado sobre la creación y administración de clústeres, los clústeres se pueden usar junto con herramientas como Terraform.
  • Hora de creación del clúster: cuándo se tarda en crear un clúster nuevo de cada canalización es restrictivo para tu caso de uso.

Sin embargo, los clústeres estáticos requieren una configuración más manual e implican administrar el ciclo de vida del clúster por tu cuenta.

Para usar un clúster estático, debes configurar propiedad en el clúster de Dataproc:

dataproc:dataproc.conscrypt.provider.enable=false

Opciones de configuración de clústeres para clústeres estáticos

Si eliges usar clústeres estáticos, Cloud Data Fusion ofrece de configuración para los siguientes aspectos:

  • Tipo de máquina del trabajador: Especifica el tipo de máquina virtual del trabajador. nodos del clúster. Esto determina las CPU virtuales y la memoria disponibles cada trabajador.
  • Cantidad de trabajadores: Define la cantidad inicial de nodos trabajadores en tu clúster. Dataproc aún podría escalar automáticamente este número, según carga de trabajo.
  • Zona: Selecciona la zona de Google Cloud de tu clúster. La ubicación puede afectar la localidad de los datos y el rendimiento de la red.
  • Parámetros de configuración adicionales: Puedes configurar opciones avanzadas para tu clúster estático, como configuración de interrupción, configuración de red y de inicialización y inicialización.

Prácticas recomendadas

Cuando crees un clúster estático para tus canalizaciones, usa lo siguiente: parámetros de configuración.

Parámetros Descripción
yarn.nodemanager.delete.debug-delay-sec Retiene registros de YARN.
Valor recomendado: 86400 (equivalente a un día)
yarn.nodemanager.pmem-check-enabled Permite que YARN compruebe los límites de memoria física y cierre los contenedores en los siguientes casos: van más allá de la memoria física.
Valor recomendado: false
yarn.nodemanager.vmem-check-enabled Permite que YARN verifique los límites de la memoria virtual y cierre los contenedores en los siguientes casos: van más allá de la memoria física.
Valor recomendado: false.

Para obtener más información, consulta Ejecuta una canalización en un clúster de Dataproc existente.

Vuelve a usar clústeres

Puedes reutilizar clústeres de Dataproc entre ejecuciones para mejorar tiempo de procesamiento. La reutilización de clústeres se implementa en un modelo similar a la conexión o de subprocesos. Cualquier clúster se mantiene en funcionamiento durante un período tiempo una vez finalizada la ejecución. Cuando se inicie una ejecución nueva, intentará encontrar un clúster inactivo disponible que coincida con la configuración del perfil de procesamiento. Si hay uno, se usará. De lo contrario, se iniciará un clúster nuevo.

Consideraciones para reutilizar clústeres

  • Los clústeres no se comparten. Similar al clúster efímero normal de aprovisionamiento, un clúster ejecuta una sola ejecución de canalización a la vez. R El clúster solo se reutiliza si está inactivo.
  • Si habilitas la reutilización de clústeres para todas tus ejecuciones, la cantidad necesaria clústeres para procesar todas tus ejecuciones se crearán según sea necesario. Similar al de Dataproc efímero, no hay control directo la cantidad de clústeres creados. Aún puedes usar citas de Google Cloud para administrar los recursos. Por ejemplo, si ejecutas 100 ejecuciones con un máximo de 7 para las ejecuciones paralelas, tendrás hasta 7 clústeres en un momento determinado.
  • Los clústeres se reutilizan entre diferentes canalizaciones en cuanto esas canalizaciones usan el mismo perfil y comparten la misma configuración de perfil. Perfil If se utiliza la personalización, los clústeres se reutilizarán, pero solo si personalizadas son exactamente iguales, incluidos todos los parámetros de configuración del clúster, como etiquetado de clústeres.

  • Cuando la reutilización de clústeres está habilitada, hay dos consideraciones de costos principales:

    • Se usan menos recursos para el inicio y la inicialización del clúster.
    • Se usan más recursos para que los clústeres permanezcan inactivos entre la canalización y después de la última ejecución de la canalización.

Aunque es difícil predecir el efecto de los costos de la reutilización de clústeres, puedes emplear para obtener el máximo ahorro. La estrategia es identificar una ruta crítica encadenadas y permitir la reutilización de clústeres para esta ruta crítica. De esta forma, garantizar que el clúster se reutilice de inmediato, que no se desperdicie tiempo de inactividad y que no se desperdicie tiempo se logran los beneficios de rendimiento.

Habilitar la reutilización del clúster

En la sección Compute Config de la configuración de la canalización implementada o cuando la creación de un nuevo perfil de procesamiento:

  • Habilita Omitir eliminación de clúster.
  • El tiempo de inactividad máximo es el tiempo hasta el que un clúster espera la siguiente canalización para reutilizarlos. El tiempo de inactividad máximo predeterminado es de 30 minutos. Para el tiempo de inactividad máximo, tener en cuenta el costo en comparación con la disponibilidad del clúster para la reutilización. Cuanto más alto sea el de tiempo de inactividad máximo, más clústeres estarán inactivos y listos para ejecutarse.

Solución de problemas: Compatibilidad de versiones

Problema: Es posible que la versión del entorno de Cloud Data Fusion no sea compatible con la versión del clúster de Dataproc.

Recomendación: Actualiza a la versión más reciente de Cloud Data Fusion y usar una de las versiones de Dataproc compatibles

Las versiones anteriores de Cloud Data Fusion solo son compatibles con versiones no compatibles de Dataproc. Dataproc no proporciona actualizaciones ni asistencia para los clústeres creados con estas versiones. Sin embargo, puedes seguir ejecutando un clúster que se creó con una versión no compatible, recomendamos reemplazarla por una creado con un versión compatible.

Versión de Cloud Data Fusion Versión de Dataproc
6.10 y posteriores 2.1 y 2.0 *
6.9 2.1, 2.0 y 1.5 *
6.7 a 6.8 2.0, 1.5 *
6.4 a 6.6 2.0 *, 1.3 **
6.1 a 6.3 1.3**

* Las versiones 6.4 y posteriores de Cloud Data Fusion tienen las siguientes características: compatible con versiones compatibles de Dataproc. A menos que se cuenten con funciones específicas del SO se necesitan, se recomienda especificar el Versión de la imagen major.minor.
Para especificar la versión del SO que se usa en tu clúster de Dataproc, la dirección debe ser compatible con uno de los modelos más recientes para Cloud Data Fusion en la tabla anterior.

** Las versiones 6.1 a 6.6 de Cloud Data Fusion son las siguientes: compatible con versión 1.3 de Dataproc no compatible. .

¿Qué sigue?