

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ajustes de Apache Flink
<a name="reference-flink-settings.title"></a>

Managed Service para Apache Flink es una implementación del marco de Apache Flink. Managed Service para Apache Flink utiliza los valores predeterminados que se describen en esta sección. Algunos de estos valores se pueden establecer para las aplicaciones de Managed Service para Apache Flink en el código, y otros no se pueden cambiar.

Utilice los enlaces de esta sección para obtener más información sobre los ajustes de Apache Flink y cuáles son modificables.

**Topics**
+ [Configuración de Apache Flink](#apache-flink-configuration)
+ [Backend de estado](#reference-defaults-state-backend)
+ [Creación de puntos de control](#reference-defaults-checkpoint)
+ [Punto de guardado](#reference-defaults-savepoint)
+ [Tamaños de montón](#reference-defaults-heap)
+ [Cómo deblotear el búfer](#reference-defaults-buffer-debloating)
+ [Propiedades de configuración de Flink modificables](reference-modifiable-settings.md)
+ [Propiedades de configuración programática de Flink](programmatic-configuration.md)
+ [Visualización de propiedades configuradas de Flink](viewing-modifiable-settings.md)

## Configuración de Apache Flink
<a name="apache-flink-configuration"></a>

Managed Service para Apache Flink proporciona una configuración de Flink predeterminada que consta de los valores recomendados por Apache Flink para la mayoría de las propiedades y algunos basados en los perfiles de aplicación comunes. Para obtener más información sobre la configuración de Flink, consulte [Configuración](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/config/). La configuración predeterminada proporcionada por el servicio funciona para la mayoría de las aplicaciones. Sin embargo, para modificar las propiedades de configuración de Flink para mejorar el rendimiento de determinadas aplicaciones con un alto nivel de paralelismo y un uso elevado de memoria y estado, o si necesita habilitar nuevas características de depuración en Apache Flink, puede cambiar determinadas propiedades solicitando un caso de soporte. Para obtener más información, consulte el [Centro de soporte de AWS](https://console.aws.amazon.com/support/home#/). Puede comprobar la configuración actual de su aplicación mediante el [panel de Apache Flink.](https://docs.aws.amazon.com/managed-flink/latest/java/how-dashboard.html)

## Backend de estado
<a name="reference-defaults-state-backend"></a>

Managed Service para Apache Flink almacena los datos transitorios en un backend de estado. El servicio gestionado para Apache Flink utiliza el **DBStatebackend Rocks**. Llamar a `setStateBackend` para configurar un backend diferente no tiene ningún efecto. 

Habilitamos las siguientes características en el backend de estado:
+ Instantáneas incrementales de backend de estado
+ Instantáneas del backend de estado asíncrono
+ Recuperación local de puntos de control

Para obtener más información sobre los backends de estado, consulte [State Backends](https://nightlies.apache.org/flink/flink-docs-release-1.19/ops/state/state_backends.html) en la documentación de Apache Flink.

## Creación de puntos de control
<a name="reference-defaults-checkpoint"></a>

Managed Service para Apache Flink utiliza una configuración de puntos de control predeterminada con los siguientes valores. Algunos de estos valores se pueden cambiar utilizando. [CheckpointConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CheckpointConfiguration.html) Se debe establecer `CheckpointConfiguration.ConfigurationType` en `CUSTOM` para que Managed Service para Apache Flink utilice valores de puntos de control modificados.


****  

| Opción | ¿Se puede modificar? | Cómo | Valor predeterminado | 
| --- | --- | --- | --- | 
| CheckpointingEnabled | Modificable | [Crear aplicación](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html) [Actualizar aplicación](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html) [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalyticsV2.html)  | True | 
| CheckpointInterval | Modificable | [Crear aplicación](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html) [Actualizar aplicación](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html) [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalyticsV2.html)  | 60.000 | 
| MinPauseBetweenCheckpoints | Modificable | [Crear aplicación](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html) [Actualizar aplicación](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html) [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalyticsV2.html)  | 5000 | 
| Puntos de comprobación no alineados | Modificable | [Caso de soporte](https://console.aws.amazon.com/support/home#/) | False | 
| Número de puntos de control simultáneos | No se puede modificar | N/A | 1 | 
| Modo de puntos de control | No se puede modificar | N/A | Exactamente una vez | 
| Política de retención de puntos de control | No se puede modificar | N/A | Error | 
| Tiempo de espera del punto de control | No se puede modificar | N/A | 60 minutos | 
| Número máximo de puntos de control retenidos | No se puede modificar | N/A | 1 | 
| Ubicación del punto de control y del punto de guardado | No se puede modificar | N/A | Almacenamos datos duraderos de puntos de control y puntos de guardado en un bucket S3 propiedad del servicio. | 

## Punto de guardado
<a name="reference-defaults-savepoint"></a>

De forma predeterminada, al restaurar desde un punto de guardado, la operación de reanudación intentará asignar todos los estados del punto guardado al programa con el que se está restaurando. Si ha eliminado un operador, de forma predeterminada, se producirá un error al restaurar desde un punto de guardado que contenga datos que correspondan al operador que falta. Puede permitir que la operación se realice correctamente configurando el *AllowNonRestoredState*parámetro de la aplicación en. [FlinkRunConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_FlinkRunConfiguration.html)`true` Esto permitirá que la operación de reanudación omita el estado que no se pueden asignar al nuevo programa.

Para obtener más información, consulte [Allowing Non-Restored State](https://nightlies.apache.org/flink/flink-docs-release-1.15/ops/state/savepoints.html#allowing-non-restored-state) en la [documentación de Apache Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15/).

## Tamaños de montón
<a name="reference-defaults-heap"></a>

Managed Service para Apache Flink asigna a cada KPU 3 GiB de montón de JVM y reserva 1 GiB para las asignaciones de código nativo. Para obtener información sobre cómo aumentar la capacidad de su aplicación, consulte [Implementación del escalado de aplicaciones en Managed Service para Apache Flink](how-scaling.md). 

Para obtener más información acerca del tamaño de los montones de JVM, consulte [Configuration](https://nightlies.apache.org/flink/flink-docs-release-1.15/ops/config.html) en la [documentación de Apache Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15/).

## Cómo deblotear el búfer
<a name="reference-defaults-buffer-debloating"></a>

Deblotear el búfer puede ayudar a las aplicaciones con alta resistencia. Si su aplicación tiene puntos de control o puntos de guardado que fallan, activar esta característica podría resultar útil. Para ello, solicite un [caso de soporte.](https://console.aws.amazon.com/support/home#/) 

Para obtener más información, consulte [The Buffer Debloating Mechanism](https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/deployment/memory/network_mem_tuning/#the-buffer-debloating-mechanism) en la documentación de [Apache Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15/).

# Propiedades de configuración de Flink modificables
<a name="reference-modifiable-settings"></a>

A continuación se muestran los ajustes de configuración de Flink que se pueden modificar mediante un [caso de soporte.](https://console.aws.amazon.com/support/home#/) Puede modificar más de una propiedad a la vez y para varias aplicaciones al mismo tiempo especificando el prefijo de la aplicación. Si hay otras propiedades de configuración de Flink fuera de esta lista que desee modificar, especifique la propiedad exacta en su caso. 

## Estrategia de reinicio
<a name="reference-modifiable-settings-fault-tolerance"></a>

A partir de la versión 1.19 de Flink y versiones posteriores, utilizamos la estrategia de reinicio por defecto `exponential-delay`. Todas las versiones anteriores utilizan la estrategia de reinicio `fixed-delay` de forma predeterminada.

`restart-strategy:`

`restart-strategy.fixed-delay.delay:`

`restart-strategy.exponential-delay.backoff-muliplier:`

`restart-strategy.exponential-delay.initial-backoff:`

`restart-strategy.exponential-delay.jitter-factor:`

`restart-strategy.exponential-delay.reset-backoff-threshold:`

## Puntos de control y backends de estado
<a name="reference-modifiable-settings-checkpoints-state-backends"></a>

`state.backend.type:`

`state.backend.fs.memory-threshold:`

`state.backend.incremental:`

## Creación de puntos de control
<a name="reference-modifiable-settings-checkpointing"></a>

`execution.checkpointing.unaligned:`

`execution.checkpointing.interval-during-backlog:`

## Métricas nativas de RocksDB
<a name="reference-modifiable-settings-rocksdb"></a>

Las métricas nativas de RockSDB no se envían a. CloudWatch Una vez habilitadas, se puede acceder a estas métricas desde el panel de control de Flink o desde la API de REST de Flink con herramientas personalizadas.

El servicio gestionado para Apache Flink permite a los clientes acceder a la última [API REST](https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/ops/rest_api/) de Flink (o a la versión compatible que estén utilizando) en modo de solo lectura mediante la API. [CreateApplicationPresignedUrl](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplicationPresignedUrl.html) Esta API se utiliza en el propio panel de Flink, pero también se puede utilizar en herramientas de monitoreo personalizadas. 

`state.backend.rocksdb.metrics.actual-delayed-write-rate:`

`state.backend.rocksdb.metrics.background-errors:`

`state.backend.rocksdb.metrics.block-cache-capacity:`

`state.backend.rocksdb.metrics.block-cache-pinned-usage:`

`state.backend.rocksdb.metrics.block-cache-usage:`

`state.backend.rocksdb.metrics.column-family-as-variable:`

`state.backend.rocksdb.metrics.compaction-pending:`

`state.backend.rocksdb.metrics.cur-size-active-mem-table:`

`state.backend.rocksdb.metrics.cur-size-all-mem-tables:`

`state.backend.rocksdb.metrics.estimate-live-data-size:`

`state.backend.rocksdb.metrics.estimate-num-keys:`

`state.backend.rocksdb.metrics.estimate-pending-compaction-bytes:`

`state.backend.rocksdb.metrics.estimate-table-readers-mem:`

`state.backend.rocksdb.metrics.is-write-stopped:`

`state.backend.rocksdb.metrics.mem-table-flush-pending:`

`state.backend.rocksdb.metrics.num-deletes-active-mem-table:`

`state.backend.rocksdb.metrics.num-deletes-imm-mem-tables:`

`state.backend.rocksdb.metrics.num-entries-active-mem-table:`

`state.backend.rocksdb.metrics.num-entries-imm-mem-tables:`

`state.backend.rocksdb.metrics.num-immutable-mem-table:`

`state.backend.rocksdb.metrics.num-live-versions:`

`state.backend.rocksdb.metrics.num-running-compactions:`

`state.backend.rocksdb.metrics.num-running-flushes:`

`state.backend.rocksdb.metrics.num-snapshots:`

`state.backend.rocksdb.metrics.size-all-mem-tables:`

## Opciones de RocksDB
<a name="reference-modifiable-settings-rocksdb-options"></a>

`state.backend.rocksdb.compaction.style:`

`state.backend.rocksdb.memory.partitioned-index-filters:`

`state.backend.rocksdb.thread.num:`

## Opciones avanzadas de backends de estado
<a name="reference-modifiable-settings-advanced-state-backends-options"></a>

`state.storage.fs.memory-threshold:`

## Opciones completas TaskManager
<a name="reference-modifiable-settings-full-task-manager-options"></a>

`task.cancellation.timeout:`

`taskmanager.jvm-exit-on-oom:`

`taskmanager.numberOfTaskSlots:`

`taskmanager.slot.timeout:`

`taskmanager.memory.network.fraction:`

`taskmanager.memory.network.max:`

`taskmanager.network.request-backoff.initial:`

`taskmanager.network.request-backoff.max:`

`taskmanager.network.memory.buffer-debloat.enabled:`

`taskmanager.network.memory.buffer-debloat.period:`

`taskmanager.network.memory.buffer-debloat.samples:`

`taskmanager.network.memory.buffer-debloat.threshold-percentages:`

## Configuración de memoria
<a name="reference-modifiable-settings-memory-configuration"></a>

`taskmanager.memory.jvm-metaspace.size:`

`taskmanager.memory.jvm-overhead.fraction:`

`taskmanager.memory.jvm-overhead.max:`

`taskmanager.memory.managed.consumer-weights:`

`taskmanager.memory.managed.fraction:`

`taskmanager.memory.network.fraction:`

`taskmanager.memory.network.max:`

`taskmanager.memory.segment-size:`

`taskmanager.memory.task.off-heap.size:`

## RPC/Akka
<a name="reference-modifiable-settings-RPC-Akka"></a>

`akka.ask.timeout:`

`akka.client.timeout:`

`akka.framesize:`

`akka.lookup.timeout:`

`akka.tcp.timeout:`

## Cliente
<a name="reference-modifiable-settings-client"></a>

`client.timeout:`

## Opciones avanzadas de clústeres
<a name="reference-modifiable-settings-advanced-cluster-options"></a>

`cluster.intercept-user-system-exit:`

`cluster.processes.halt-on-fatal-error:`

## Configuraciones del sistema de archivos
<a name="reference-modifiable-settings-advanced-filesystem-configurations"></a>

`fs.s3.connection.maximum:`

`fs.s3a.connection.maximum:`

`fs.s3a.threads.max:`

`s3.upload.max.concurrent.uploads:`

## Opciones avanzadas de tolerancia a errores
<a name="reference-modifiable-settings-advanced-fault-tolerance-options"></a>

`heartbeat.timeout:`

`jobmanager.execution.failover-strategy:`

## Configuración de memoria
<a name="reference-modifiable-settings-memory-configuration"></a>

`jobmanager.memory.heap.size:`

## Métricas
<a name="reference-modifiable-settings-metrics"></a>

`metrics.latency.interval:`

## Opciones avanzadas para el cliente y el punto de conexión REST
<a name="reference-modifiable-settings-rest"></a>

`rest.flamegraph.enabled:`

`rest.server.numThreads:`

## Opciones de seguridad SSL avanzadas
<a name="reference-modifiable-settings-ssl"></a>

`security.ssl.internal.handshake-timeout:`

## Opciones avanzadas de programación
<a name="reference-modifiable-settings-scheduling"></a>

`slot.request.timeout:`

## Opciones avanzadas para la interfaz de usuario web de Flink
<a name="reference-modifiable-settings-webui"></a>

`web.timeout:`

# Propiedades de configuración programática de Flink
<a name="programmatic-configuration"></a>

A continuación se muestran las propiedades de configuración de Flink que puede modificar directamente en el código de su aplicación. A partir de MSF 2.2, se generará una excepción si intenta modificar una propiedad que no aparece en esta página en el código de su aplicación.

**nota**  
Estas propiedades son distintas de las configuraciones modificadas mediante AWS Support Case. Para obtener información sobre la configuración a nivel de infraestructura, como la TaskManager memoria, el backend de estado, el ajuste de RockSDB y las estrategias de reinicio, consulte. [Propiedades de configuración de Flink modificables](reference-modifiable-settings.md)

## Configuración de canalización
<a name="programmatic-configuration-pipeline"></a>

`execution.runtime-mode`

`pipeline.auto-generate-uids`

`pipeline.auto-watermark-interval`

`pipeline.cached-files`

`pipeline.classpaths`

`pipeline.closure-cleaner-level`

`pipeline.force-avro`

`pipeline.force-kryo`

`pipeline.generic-types`

`pipeline.global-job-parameters`

`pipeline.jars`

`pipeline.jobvertex-parallelism-overrides`

`pipeline.max-parallelism`

`pipeline.name`

`pipeline.object-reuse`

`pipeline.operator-chaining.chain-operators-with-different-max-parallelism`

`pipeline.operator-chaining.enabled`

`pipeline.serialization-config`

`pipeline.vertex-description-mode`

`pipeline.vertex-name-include-index-prefix`

`pipeline.watermark-alignment.allow-unaligned-source-splits`

## API de Python
<a name="programmatic-configuration-python"></a>

`python.execution-mode`

`python.operator-chaining.enabled`

`python.job-options`

`python.internal.archives-key-map`

`python.internal.files-key-map`

`python.internal.requirements-file-key`

## Tabla API/SQL
<a name="programmatic-configuration-table-api"></a>

`table.exec.async-lookup.buffer-capacity`

`table.exec.async-lookup.key-ordered-enabled`

`table.exec.async-lookup.output-mode`

`table.exec.async-lookup.timeout`

`table.exec.async-ml-predict.max-concurrent-operations`

`table.exec.async-ml-predict.output-mode`

`table.exec.async-ml-predict.timeout`

`table.exec.async-scalar.max-concurrent-operations`

`table.exec.async-scalar.max-attempts`

`table.exec.async-scalar.retry-delay`

`table.exec.async-scalar.retry-strategy`

`table.exec.async-scalar.timeout`

`table.exec.async-state.enabled`

`table.exec.async-table.max-concurrent-operations`

`table.exec.async-table.max-retries`

`table.exec.async-table.retry-delay`

`table.exec.async-table.retry-strategy`

`table.exec.async-table.timeout`

`table.exec.async-vector-search.max-concurrent-operations`

`table.exec.async-vector-search.output-mode`

`table.exec.async-vector-search.timeout`

`table.exec.deduplicate.insert-update-after-sensitive-enabled`

`table.exec.deduplicate.mini-batch.compact-changes-enabled`

`table.exec.delta-join.cache-enabled`

`table.exec.disabled-operators`

`table.exec.iceberg.use-v2-sink`

`table.exec.interval-join.min-cleanup-interval`

`table.exec.legacy-cast-behaviour`

`table.exec.local-hash-agg.adaptive.distinct-value-rate-threshold`

`table.exec.local-hash-agg.adaptive.enabled`

`table.exec.local-hash-agg.adaptive.sampling-threshold`

`table.exec.mini-batch.allow-latency`

`table.exec.mini-batch.enabled`

`table.exec.mini-batch.size`

`table.exec.operator-fusion-codegen.enabled`

`table.exec.simplify-operator-name-enabled`

`table.exec.sink.keyed-shuffle`

`table.exec.sink.nested-constraint-enforcer`

`table.exec.sink.not-null-enforcer`

`table.exec.sink.rowtime-inserter`

`table.exec.sink.type-length-enforcer`

`table.exec.sink.upsert-materialize`

`table.exec.sink.upsert-materialize-strategy.adaptive.threshold.high`

`table.exec.sink.upsert-materialize-strategy.adaptive.threshold.low`

`table.exec.sink.upsert-materialize-strategy.type`

`table.exec.sort.async-merge-enabled`

`table.exec.sort.default-limit`

`table.exec.sort.max-num-file-handles`

`table.exec.source.cdc-events-duplicate`

`table.exec.source.idle-timeout`

`table.exec.spill-compression.block-size`

`table.exec.spill-compression.enabled`

`table.exec.state.ttl`

`table.exec.uid.format`

`table.exec.uid.generation`

`table.exec.unbounded-over.version`

`table.exec.window-agg.buffer-size-limit`

`table.optimizer.agg-phase-strategy`

`table.optimizer.adaptive-broadcast-join.strategy`

`table.optimizer.bushy-join-reorder-threshold`

`table.optimizer.delta-join.strategy`

`table.optimizer.distinct-agg.split.bucket-num`

`table.optimizer.distinct-agg.split.enabled`

`table.optimizer.dynamic-filtering.enabled`

`table.optimizer.incremental-agg-enabled`

`table.optimizer.join-reorder-enabled`

`table.optimizer.multi-join.enabled`

`table.optimizer.multiple-input-enabled`

`table.optimizer.non-deterministic-update.strategy`

`table.optimizer.reuse-optimize-block-with-digest-enabled`

`table.optimizer.reuse-sink-enabled`

`table.optimizer.reuse-source-enabled`

`table.optimizer.reuse-sub-plan-enabled`

`table.optimizer.runtime-filter.enabled`

`table.optimizer.skewed-join-optimization.skewed-factor`

`table.optimizer.skewed-join-optimization.skewed-threshold`

`table.optimizer.skewed-join-optimization.strategy`

`table.optimizer.source.report-statistics-enabled`

`table.optimizer.union-all-as-breakpoint-enabled`

`table.builtin-catalog-name`

`table.builtin-database-name`

`table.catalog-modification.listeners`

`table.column-expansion-strategy`

`table.display.max-column-width`

`table.dml-sync`

`table.dynamic-table-options.enabled`

`table.generated-code.max-length`

`table.legacy-nested-row-nullability`

`table.local-time-zone`

`table.plan.compile.catalog-objects`

`table.plan.force-recompile`

`table.plan.restore.catalog-objects`

`table.rtas-ctas.atomicity-enabled`

`table.sql-dialect`

# Visualización de propiedades configuradas de Flink
<a name="viewing-modifiable-settings"></a>

Puede ver las propiedades de Apache Flink que haya configurado usted mismo o que haya solicitado que se modifiquen mediante un [caso de soporte](https://support.console.aws.amazon.com/support/home#/) a través del Panel de Apache Flink y siguiendo estos pasos:

1. Vaya al Panel de Flink

1. En el panel de navegación izquierdo, seleccione **Administrador de trabajos**.

1. Seleccione **Configuración** para ver la lista de propiedades de Flink.