Flink CDC为什么cdc的时候ui上边的bytesreceived那些都是0?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用Flink CDC时,如果UI界面上的Bytes Received等指标显示为0,可能是由于以下原因导致的。以下是详细的原因分析及解决方案:
Bytes Received显示为0。pipeline.operator-chaining: 'false'
这样可以在拓扑图中看到数据的流向和流量。
Bytes Received显示为0。pipeline.operator-chaining: 'false'将节点拆分,然后观察每个节点的Bytes Received(输入)和Bytes Sent(输出)。如果某个节点的输出为0而输入不为0,说明数据被该节点过滤了。Bytes Received显示为0。currentEmitEventTimeLag指标判断。当该指标大于0时,表示已进入增量读取阶段。BinlogSplitReader is created日志,确认是否读取完全量数据。table.exec.mini-batch.size: N
其中N为缓存数据条数,建议根据实际业务需求设置。
Bytes Received的显示。table.exec.source.idle-timeout: 1s
Bytes Received的分析。Bytes Received的分析。private static final Logger LOG = LoggerFactory.getLogger(xxx.class);
通过以上分析,您可以从以下几个方面排查和解决Flink CDC作业中Bytes Received显示为0的问题: 1. 检查算子是否正确分割。 2. 确认Kafka分区是否有数据流入。 3. 排查数据是否被过滤或丢弃。 4. 确认MySQL CDC是否已完成全量数据同步。 5. 调整Checkpoint间隔时间和相关参数。 6. 设置Partition的过期时间。 7. 确保日志归档功能已开启并正确配置日志输出方式。
如果问题仍未解决,建议结合具体日志信息进一步分析。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。