我有一个Apache Flink应用程序,它从单个Kafka主题读取。 我想不时停机地更新应用程序。目前,Flink应用程序通过http rest API执行一些简单的运算符,例如map和一些到外部系统的同步IO。
我尝试使用stop命令,但是我收到“作业终止(STOP)失败:此作业不可停止。”,我了解到Kafka连接器不支持stop行为-a link ! 一个简单的解决方案是使用保存点取消并使用保存点重新部署新的jar,但是这样会导致停机。 另一个解决方案是从外部控制部署,例如,通过切换到新主题。
什么是好习惯?
答案 0 :(得分:0)
如果您不需要一次输出(即可以容忍某些重复项),则可以获取一个保存点,而无需取消正在运行的作业。保存点完成后,您将开始第二项工作。第二项工作可以写到不同的主题,但不必这样做。当第二份工作完成时,您可以取消第一份工作。