Flink 涉及到 state 恢复能从 RocketMQ 直接转到 Kafka 吗?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink 涉及到 state 恢复能从 RocketMQ 直接转到 Kafka 吗?

wanglei2@geekplus.com

有一个 flink streaming 的程序,读 RocketMQ,中间有一些复杂度计算逻辑用 RocksDB state 存储.
程序有小的更新直接  cancel -s 取消再 run -s 恢复

现在我们需要用 Kafka 替换掉 RocketMQ,消息内容都是一样的, flink 程序需要改一下改为读 Kafka
我可以直接 cancel -s 后再 run -s 复用之前的 state 吗?





[hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: Flink 涉及到 state 恢复能从 RocketMQ 直接转到 Kafka 吗?

Paul Lam
可以,保证 RokcetMQ source 算子的 uid 和原本的 Kafka source 算子的 uid 不同就行。
另外启动要设置参数 -n 或 —allowNonRestoredState 。

Best,
Paul Lam

> 2020年9月2日 17:21,[hidden email] 写道:
>
>
> 有一个 flink streaming 的程序,读 RocketMQ,中间有一些复杂度计算逻辑用 RocksDB state 存储.
> 程序有小的更新直接  cancel -s 取消再 run -s 恢复
>
> 现在我们需要用 Kafka 替换掉 RocketMQ,消息内容都是一样的, flink 程序需要改一下改为读 Kafka
> 我可以直接 cancel -s 后再 run -s 复用之前的 state 吗?
>
>
>
>
>
> [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Flink 涉及到 state 恢复能从 RocketMQ 直接转到 Kafka 吗?

Congxian Qiu
从之前的 checkpoint/savepoint 恢复的话,加上 -n 或者 --allowNonRestoredState
是可以恢复的,不过需要注意如何保证从 *特定* 的 offset 进行恢复

Best,
Congxian


Paul Lam <[hidden email]> 于2020年9月3日周四 上午11:59写道:

> 可以,保证 RokcetMQ source 算子的 uid 和原本的 Kafka source 算子的 uid 不同就行。
> 另外启动要设置参数 -n 或 —allowNonRestoredState 。
>
> Best,
> Paul Lam
>
> > 2020年9月2日 17:21,[hidden email] 写道:
> >
> >
> > 有一个 flink streaming 的程序,读 RocketMQ,中间有一些复杂度计算逻辑用 RocksDB state 存储.
> > 程序有小的更新直接  cancel -s 取消再 run -s 恢复
> >
> > 现在我们需要用 Kafka 替换掉 RocketMQ,消息内容都是一样的, flink 程序需要改一下改为读 Kafka
> > 我可以直接 cancel -s 后再 run -s 复用之前的 state 吗?
> >
> >
> >
> >
> >
> > [hidden email]
>
>