实时计算 Flink版产品使用合集之是否支持从库归档日志捕获数据

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
简介: 实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

问题一:FlinkCDC 支不支持从从库归档日志捕获数据,还是只能在主库上捕获?


Flink CDC应用系统在Oracle 上开启了主从同步,从库也开启了归档日志,FlinkCDC 支不支持从从库归档日志捕获数据,还是只能在主库上捕获?


参考回答:

Flink CDC支持从从库归档日志捕获数据。当同步Oracle数据库时,根据归档日志的保留时间配置,Flink CDC会从最近的归档日志开始抓取数据。例如,如果需要保留十个小时的归档日志,那么Flink CDC会从十个小时之前的最近的归档日志开始抓取数据。此外,Flink CDC是Flink社区开发的flink-cdc-connectors组件,可以直接从MySQL、PostgreSQL等数据库读取全量数据和增量变更数据。所以无论在主库还是从库上,只要设置了正确的参数,Flink CDC都可以捕获到所需要的数据。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/575319



问题二:Flink CDC中这个参数在连接oracle19c版本数据库中不支持怎么办?


Flink CDC中 'debezium.log.mining.continuous.mine' ='true' 这个参数在连接oracle19c版本数据库中不支持怎么办?


参考回答:

如果您在使用Flink CDC连接Oracle 19c数据库时发现参数 'debezium.log.mining.continuous.mine' 不被支持,您可以考虑以下解决方案:

  1. 检查数据库版本:确保您的Oracle数据库版本与您使用的Flink CDC版本兼容。某些功能可能在较旧或较新的数据库版本中不可用。升级数据库或选择适当版本的Flink CDC可能是解决问题的一种方法。
  2. 查询CDC功能:在Oracle 19c中,CDC(Change Data Capture)提供了自己的机制来捕获数据变更。您可以探索Oracle 19c的CDC功能,并根据需要进行配置和使用。这样可以绕过Flink CDC中不受支持的参数。
  3. 自定义开发:如果Oracle 19c的CDC功能无法满足您的需求,并且Flink CDC中的特定参数不受支持,您可能需要考虑自定义开发解决方案。通过编写自己的数据捕获逻辑,您可以直接连接到Oracle 19c并捕获数据变更,以满足您的需求。
  4. 寻求其他解决方案:如果以上方法都无法满足您的需求,您可能需要考虑其他数据同步和捕获工具。有许多第三方工具和库可与Oracle数据库集成,并提供类似的CDC功能。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/575317



问题三:如何查看Flink CDC收发数据波动图?


如何查看Flink CDC收发数据波动图?

例如我想看最近一天的


参考回答:

要查看Flink CDC的收发数据波动图,可以通过使用Flink自带的监控工具来实现。具体来说,你需要在Flink的Web界面中找到“Metrics”选项卡,并在这个页面中选择你想要监控的指标。这些指标可以包括Flink作业的运行时间、任务数量、输入输出数据的总量等等。通过查看这些指标的变化情况,你可以了解到Flink CDC的数据处理效率,以及数据流量的波动情况。

此外,你还可以使用一些第三方的工具来获取和分析Flink CDC的数据波动图。例如,通过使用Prometheus这种开源的监控系统,你可以更加详细地了解到Flink CDC的各项指标,并且可以通过图表的形式直观地展示出这些指标的变化趋势。这样不仅可以帮助你更好地理解Flink CDC的工作原理,也可以帮助你发现和解决可能出现的问题。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/575316



问题四:flink mysql cdc 2.3.0 版本, 想要断点续传 怎么弄?


flink mysql cdc 2.3.0 版本, 想要断点续传

在SourceRecord sourceRecord

获取的 partitionMap = sourceRecord.sourceOffset();

offsetMap = sourceRecord.sourcePartition();

file 都是空的,正常应该是。binlog-202xxx.log文件名称?


参考回答:

在Flink MySQL CDC 2.3.0版本中,要实现断点续传,您可以尝试以下方法:

  1. 检查MySQL配置:确保MySQL数据库的binlog模式已启用。断点续传依赖于MySQL的binlog来记录数据变更,如果未启用binlog,则无法进行断点续传。
  2. 使用SourceRecord获取offset信息:您可以通过sourceRecord.sourceOffset()方法获取当前事件的偏移量信息。这些偏移量可以被用于保存和恢复断点状态,以便在重新启动应用程序后从上次离开的地方继续消费。
  3. 确认offsetMap和partitionMap:根据您提供的信息,sourceRecord.sourcePartition()应该是用于标识不同分区的信息,而sourceRecord.sourceOffset()应该是用于标识具体的偏移量。检查这两个map是否包含了正确的信息,例如binlog文件名称和偏移量。
  4. 自定义文件存储机制:如果sourceRecord.sourceOffset()sourceRecord.sourcePartition()中没有正确的偏移量和分区信息,您可以考虑自己实现一个持久化存储机制,将偏移量保存到外部存储(如数据库、文件系统等)中。这样,在应用程序重新启动时,您可以从存储中读取上一次保存的偏移量,并使用它们来恢复断点状态。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/575315



问题五:Flink CDC中mysql cdc 2.4 版本支持仅 全量阶段不拉取增量的逻辑吗?


Flink CDC中mysql cdc 2.4 版本支持仅 全量阶段不拉取增量的逻辑吗?


参考回答:

在Flink CDC的MySQL CDC库中,2.4版本并不原生支持仅进行全量阶段而不拉取增量数据的逻辑。默认情况下,CDC库会同时获取全量和增量数据,并将它们一起发送给Flink应用程序进行处理。

然而,您可以通过编写自定义的Flink CDC Source Function来实现只拉取全量数据的逻辑。具体步骤如下:

  1. 创建一个类,继承自io.debezium.connector.mysql.MySqlConnector
  2. 重写createAndStartEventReader()方法,并返回一个自定义的BinlogReader对象。
  3. 在自定义的BinlogReader类中,重写doStart()方法,将其中的逻辑改为只拉取全量数据,并忽略增量数据。

以下是一个简单的示例代码,演示了如何自定义Flink CDC的MySQL CDC源函数,并仅拉取全量数据:

import io.debezium.config.Configuration;
import io.debezium.connector.mysql.MySqlConnector;
import io.debezium.embedded.EmbeddedEngine;
import io.debezium.relational.history.FileDatabaseHistory;
public class CustomMySqlConnector extends MySqlConnector {
    @Override
    protected BinlogReader createAndStartEventReader() {
        return new CustomBinlogReader();
    }
    private static class CustomBinlogReader extends BinlogReader {
        @Override
        protected void doStart() throws Exception {
            // 只拉取全量数据,忽略增量数据
            super.doStart();
            // 将增量数据的消费位置设置为结束位置,以避免处理增量数据
            getOffsets().setIncrementalOffset(getOffsets().getEndOffset());
        }
    }
}

然后,在Flink应用程序中使用自定义的MySQL CDC源函数:

MySqlSource.fromCustomConnector()
  .hostname(...)
  .port(...)
  .database(...)
  // 设置其他必要的配置项
  .debeziumProperties(...)
  .startFromEarliest()
  .deserializer(...)
  .build();

值得注意的是,这只是一个示例代码来演示如何自定义Flink CDC的MySQL CDC源函数,并仅拉取全量数据。具体实现可能需要根据您的业务需求和环境进行修改和调整。


关于本问题的更多回答可点击原文查看:

https://developer.aliyun.com/ask/575314

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
144 1
|
5月前
高性能网络库设计之日志组件
高性能网络库设计之日志组件
181 2
|
8月前
|
SQL API Apache
Dinky 和 Flink CDC 在实时整库同步的探索之路
本次分享围绕 Dinky 的整库同步技术演进,从传统数据集成方案的痛点出发,探讨了 Flink CDC Yaml 作业的探索历程。内容分为三个部分:起源、探索、未来。在起源部分,分析了传统数据集成方案中全量与增量割裂、时效性低等问题,引出 Flink CDC 的优势;探索部分详细对比了 Dinky CDC Source 和 Flink CDC Pipeline 的架构与能力,深入讲解了 YAML 作业的细节,如模式演变、数据转换等;未来部分则展望了 Dinky 对 Flink CDC 的支持与优化方向,包括 Pipeline 转换功能、Transform 扩展及实时湖仓治理等。
911 12
Dinky 和 Flink CDC 在实时整库同步的探索之路
|
9月前
|
JSON API Go
基于责任链与策略模式的轻量级PHP日志库设计
项目日志乱成一团,bug 时好时坏,服务器问题难以复现?我写了个 PHP 日志系统,第一时间发现问题,避免跑路。实现了责任链模式+策略模式,让日志存储更灵活,支持多种输出方式。
|
前端开发 C语言 开发者
领导被我的花式console.log吸引了!直接写入公司公共库!
【8月更文挑战第23天】领导被我的花式console.log吸引了!直接写入公司公共库!
127 2
领导被我的花式console.log吸引了!直接写入公司公共库!
|
存储 调度 流计算
Flink 新一代流计算和容错问题之如何实现 Generalized Log-Based Incremental Checkpoint
Flink 新一代流计算和容错问题之如何实现 Generalized Log-Based Incremental Checkpoint
162 1
|
Linux API
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
在Linux中,程序产生了库日志虽然删除了,但磁盘空间未更新是什么原因?
|
存储 运维 监控
超级好用的C++实用库之日志类
超级好用的C++实用库之日志类
225 0
|
监控 Java Serverless
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
|
消息中间件 Java Kafka
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
【Azure 事件中心】开启 Apache Flink 制造者 Producer 示例代码中的日志输出 (连接 Azure Event Hub Kafka 终结点)
159 0

相关产品

  • 实时计算 Flink版