部署新版本的Flink应用程序失败


  • env
    • 燧石1.7.1
    • 卡夫卡1.0.1

我在流处理过程中使用Flink应用程序。阅读卡夫卡的主题,并将其转化为卡夫卡的新主题。当我用新版本的代码更改应用程序并进行部署时,就会出现应用程序执行失败的情况

如果我在更改应用程序代码后部署相同的group.id,是否会与以前的状态检查点信息发生冲突?

是的,如果您试图对Flink应用程序进行有状态升级,有一些事情可能会导致它失败。

有状态运算符的UID用于查找每个运算符的状态。如果您没有设置UID,那么如果作业的拓扑结构发生了更改,则状态恢复将失败,因为Flink将无法找到状态。有关详细信息,请参阅"分配操作员ID"文档。

如果删除了有状态运算符,则应在指定-allowNonRestoredState的同时运行新作业。

如果修改了数据类型,则在尝试反序列化检查点或保存点中的状态时,作业可能会失败。Flink 1.7不支持自动模式进化或状态迁移。在Flink的最新版本中,如果你坚持使用POJO或Avro,这是自动处理的。否则,您需要自定义序列化程序。

如果这不能帮助您找出问题所在,请分享显示特定异常的日志中的信息。

相关内容

  • 没有找到相关文章

最新更新