在使用 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
文件来永久地更改默认配置值。