由于第一次做实时,所以踩坑比较多,见谅(测试环境用的flink),小公司没有用到hadoop组件
一、踩坑记录
1:本地代码的flink版本是flink1.15.4,生产环境是flink1.16.1,在使用侧输出流时报错,需要使用以下写法,需要使用SideOutputDataStream不能用DataStream,同时将pom下的flink版本切换为1.16.1
SideOutputDataStream<String> tblHotelGuestSnapStreamDS = processedDS.getSideOutput(tblHotelGuestSnaptag);
2: Oceanus环境运行flink时候会默认使用RocksDB State Backend,不需要再手动配置检查点
3:可以利用checkpoint检查点来保证数据的端到端一致
4:打包可以使用maven协助打包
5: bin/start-cluster.sh启动后测试环境的8081无法访问,需要修改flink-conf.yml的属性rest.bind-address: 0.0.0.0和rest.bind-port: 8081和rest.port: 8081,之后重启就可以访问
6.mysql时间字段是datetime类型格式,使用默认的json序列化器会将时间格式转换成时间戳格式,最后写入starrocks后发现写入没有报错,但是时间字段为空,需要自定义序列化器,将时间戳格式数据转换成时间格式即可文章来源:https://www.toymoban.com/news/detail-672494.html
7.flink读取mysql写入starrocks发现写入starrocks延迟很高,但是直接打印发现数据基本秒到,发现是检查点的问题,需要降低检查点的时间大小文章来源地址https://www.toymoban.com/news/detail-672494.html
到了这里,关于基于流计算 Oceanus(Flink) CDC 做好数据集成场景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!