You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by yidan zhao <hi...@gmail.com> on 2022/12/01 02:10:37 UTC
Re: flink sql作业无缝升级问题
应该是不行,必须先停止。
除非业务层面做了改动,像我业务的话我支持动态配置消费数据的开始结束时间的过滤。这样假设当前作业为A,当前时间9点55分,先动态设置A消费到10点就停止。在10点前启动新作业B,并设置作业B从10点的作业开始消费。这样10点之后比如10点5分左右确认作业A已经消费完10点前数据且sink完就可以停止了。
否则没办法,指定相同group也不可以的应该,我记得flink是使用主动assign分区的方式使用kafka的,因此如果前后作业同时存在,实际是重复消费,不存在共享消费的概念。
刘超 <li...@foxmail.com> 于2022年12月1日周四 09:36写道:
>
> kafka group使用同一个,作业启动从group-offsets开始,如果没有状态的作业是可以的,但是如果存在状态的话,可能不太行。
> 最好的办法就是等流量下来后,再进行一个切换
>
>
>
>
> 刘超
> liuchao1019@foxmail.com
>
>
>
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人: "user-zh" <liujiangangpeng@gmail.com>;
> 发送时间: 2022年11月30日(星期三) 晚上8:08
> 收件人: "user-zh"<user-zh@flink.apache.org>;
>
> 主题: Re: flink sql作业无缝升级问题
>
>
>
> Flink目前无法做到无缝升级,需要走stop-with-savepoint、start
> job的流程,但是在这之间可以做一些优化来缩短恢复时间。比如,把新作业先启动起来,申请好资源,同时停掉老作业,将做好的savepoint用来触发新作业的执行。
>
> casel.chen <casel_chan@126.com> 于2022年11月29日周二 08:38写道:
>
> > 线上有一个流量较大的flink sql作业需要升级添加业务字段,当前主要是kafka (canal) 多表关联写入 mongodb
> > 数据同步场景,除了source offset外无其他状态,如何让用户对升级无感呢?
> > 常规的停止作业再启动作业至少要几十秒,会造成消息积压告警,有没有可能先启新作业待运行平稳后再停止老作业?kafka
> > group使用同一个,作业启动从group-offsets开始可以吗?另外,如果是有大状态作业又要如何无缝升级?