在使用 Apache Flink CDC 3.1 以 pipeline 方式同步数据时,可以在启动命令中指定资源参数。这些参数主要用于控制 Flink Job 的执行配置,比如并行度、内存大小等,这对于确保作业的性能和稳定性非常重要。

当你通过命令行提交 Flink 作业时,可以使用 -yD 参数来设置任意数量的配置属性。对于更具体的资源配置,如任务管理器(TaskManager)的内存配置或并行度设置,你可以使用专门的参数或者直接通过 --parallelism 来设置全局并行度。下面是一些常用的配置示例:

设置全局并行度

./bin/flink run \
    --parallelism 4 \
    -c com.example.YourMainClass \
    /path/to/your-job.jar

设置特定的 Flink 配置参数

./bin/flink run \
    -yD taskmanager.memory.process.size=4096m \
    -yD taskmanager.numberOfTaskSlots=4 \
    -yD parallelism.default=4 \
    -c com.example.YourMainClass \
    /path/to/your-job.jar

使用 yarn-session 提交到 YARN

如果你是在 YARN 上运行 Flink 作业,可以通过 yarn-session 命令来启动一个会话,并且同样可以添加资源配置:

./bin/yarn-session.sh \
    -n 2 \
    -jm 1024m \
    -tm 4096m \
    -s 4 \
    -q queueName \
    --detached
  • -n 指定 TaskManager 的个数。
  • -jm 设置 JobManager 的内存大小。
  • -tm 设置每个 TaskManager 的内存大小。
  • -s 设置每个 TaskManager 的 slot 数量。
  • -q 指定 YARN 队列名称。
  • --detached 表示在后台运行该会话。

在代码中设置配置

除了命令行参数外,你还可以在代码中通过 StreamExecutionEnvironment 来设置一些配置项:

final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(4);
env.getConfig().setGlobalJobParameters(parameters); // 如果需要传递其他参数

使用 flink-conf.yaml 文件

也可以编辑 Flink 安装目录下的 conf/flink-conf.yaml 文件来永久地更改默认配置值。