问题一:Flink CDC这里的brokers虽然可以配置多个,但是只要第1个brokers挂了,这怎么破?
Flink CDC这里的brokers虽然可以配置多个,但是只要第1个brokers挂了,任务就挂了,这怎么破?
参考回答:
把你的kafka集群配置成高可用的集群
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/567527
问题二:Flink CDC中flink sql 支持 同步到 代理的数据源吗?
Flink CDC中flink sql 支持 同步到 代理的数据源吗?
参考回答:
目前Flink CDC中还不支持直接同步到ShardingSphere Proxy代理的数据源。ShardingSphere Proxy是一种分布式数据库中间件,它提供了一个SQL层的路由和分片能力,可以将多个数据库实例组织在一起形成一个逻辑数据库。而在Flink CDC中只能支持直接同步到单个数据库实例,并不能直接支持同步到这种分布式数据库中间件上。
当然,您可以考虑将Flink CDC收集到的数据,经过一些预处理后再将数据推送至ShardingSphere Proxy代理的数据源中,这样就能够实现间接支持同步至ShardingSphere Proxy的目的。但请注意,这种方式可能会带来一定的开销,需要评估是否有足够的计算资源和网络带宽进行支撑。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/572216
问题三:Flink CDC中mongocdc支不支持下游自动建表?
Flink CDC中mongocdc支不支持下游自动建表?
参考回答:
Flink CDC目前支持自动建表功能,可以读取MongodBCDC的数据并将其自动推送到目标表中。具体来说,您可以利用Flink CDC的Hive Sink或者JDBC Sink来实现自动建表的功能。
建议您可以参考以下示例代码:
streamExecutionEnvironment.createInput(new FlinkKafkaConsumer<>( "topic", new RowSchemaConverter(schema), properties) .assignTimestampsAndWatermarks(new AscendingTimestampExtractor<MyType>() { @Override public long extractAscendingTimestamp(MyType element) { return element.getTimestamp(); } }) .setParallelism(parallelism));
注意:Hive Sink
和 JDBC Sink
都支持自动建表功能,可以根据Mongodb CDC的数据自动创建目标表结构。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/570200
问题四:Flink CDC这种任务 全量跑完内存不会释放吗?
Flink CDC这种任务 全量跑完内存不会释放吗?
参考回答:
在大多数情况下,当你使用Flink CDC进行全量拉取时,任务完成之后内存会被完全释放掉。然而,在某些情况下,由于各种原因,内存可能不会被完全释放,例如:
- 如果任务在运行过程中出现了错误或异常,那么程序可能会停止执行并且保留部分内存。在这种情况下,你需要重启任务才能重新开始拉取数据,并且在重启之前必须解决掉导致任务失败的问题。
- 如果任务正在运行并且你想要中断它,那么你必须使用正确的终止方式来停止任务。如果你只是直接停止JVM进程,那么内存可能不会被完全释放掉。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/567524
问题五:Flink CDC这种任务 全量跑完为啥不会释放内存?
Flink CDC这种任务 全量跑完为啥不会释放内存?
参考回答:
请参考2.4如何自动关闭空闲reader和条件限制
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/567445