es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El checkpoint AT_LEAST_ONCE de Flink utiliza el 100% de la memoria administrada.

Tenemos un trabajo de transmisión de Flink v1.14 en ejecución en el modo de implementación nativo de K8S. Cuando usamos el modo de punto de control AL MENOS UNA VEZ, el uso de memoria administrada alcanza el 100% sin importar cuánta memoria le asignemos. ¿Alguna idea de cuál podría ser la causa o es este comportamiento esperado en la forma en que Flink administra la memoria?

ingresar una descripción de la imagen aquí

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Este comportamiento es esperado al utilizar el modo de punto de control AT_LEAST_ONCE en Flink. Cuando se crea un punto de control en Flink, el estado del trabajo de streaming se guarda en un sistema de almacenamiento duradero, como HDFS. Cuando el trabajo se recupera de una falla, Flink lee el estado de nuevo en la memoria desde el sistema de almacenamiento duradero. Dado que al menos una vez se garantiza que cada registro se procesa al menos una vez, Flink necesita realizar un seguimiento de todos los estados de los registros que se han procesado pero aún no se han comprometido con el almacenamiento duradero. Esto lleva a un alto uso de memoria, ya que Flink necesita mantener esta información de estado en la memoria hasta que pueda ser de manera segura comprometida con el almacenamiento duradero.

    Para reducir el uso de memoria, se puede intentar cambiar al modo de punto de control EXACTLY_ONCE, ya que evita la necesidad de mantener información de estado en los nodos fallidos. También se puede intentar aumentar la cantidad de memoria disponible para el trabajo, pero tenga en cuenta que esto puede no resolver por completo el problema ya que el uso de memoria depende en gran medida del número y tamaño de los registros que se están procesando. Además, se puede intentar optimizar su aplicación para reducir la cantidad de estados que mantiene en cualquier momento dado.

Comments are closed.