开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC跑联表任务时候,程序的内存会慢慢增大,这个报错是因为什么呢?

Flink CDC跑联表任务时候,程序的内存会慢慢增大,达到4G左右的时候会突然降到300M,同时jobmanager日志里显示有报错ERROR org.apache.flink.runtime.rest.handler.taskmanager.TaskManagerStdoutFileHandler [] - Failed to transfer file from TaskExecutor 10.186.196.84:6122-16e4eb.
java.util.concurrent.CompletionException: org.apache.flink.util.FlinkException: The file STDOUT does not exist on the TaskExecutor.我使用的是rocksdb状态后端,taskmaner总内存8G,这个报错是因为什么呢?image.png

展开
收起
cuicuicuic 2023-12-11 13:30:55 56 0
1 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个报错是因为在Flink CDC任务执行过程中,TaskExecutor无法找到STDOUT文件。这可能是因为TaskExecutor的内存不足导致的。你可以尝试增加TaskExecutor的内存配置,以解决这个问题。

    具体操作如下:

    1. 打开Flink配置文件flink-conf.yaml,找到taskmanager.memory.process.sizetaskmanager.memory.fraction这两个参数。

    2. taskmanager.memory.process.size设置为一个较大的值,例如8G或更高。这将为TaskExecutor分配更多的内存空间。

    3. taskmanager.memory.fraction设置为一个较小的值,例如0.4或更低。这将限制TaskExecutor可以使用的最大内存比例。

    4. 保存并关闭配置文件。

    5. 重新启动Flink集群以使更改生效。

    2023-12-12 17:24:54
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    基于 Flink CDC 打造 企业级实时数据集成方案 立即下载
    内存取证与IaaS云平台恶意行 为的安全监控 立即下载
    云服务器ECS内存增强型实例re6全新发布 立即下载