我有一个运行多个流媒体作业的Flink服务器。这些作业是使用flink run
命令启动的,基本上一直运行直到你停止它们。现在我想取消一个特定的工作。当我做flink list
时,我得到的是这样的东西:
------------------ Running/Restarting Jobs -------------------
10.12.2015 08:30:37 : d6aeefaa2295ce122b65037805db0891 : Flink Streaming Job (RUNNING)
10.12.2015 08:44:18 : cfe10aca3435730d09691ff644475467 : Flink Streaming Job (RESTARTING)
10.12.2015 08:55:08 : 4ca359e286d4f5b4de62aee76f4c6389 : Flink Streaming Job (RESTARTING)
10.12.2015 08:57:42 : 1b75acb482f2610039ea2211e094b862 : Flink Streaming Job (RESTARTING)
10.12.2015 09:07:22 : 609993523b0214f52fabfdf09baf419d : Flink Streaming Job (RESTARTING)
使用此输出无法取消正确的作业,因为无法识别哪个作业是哪个。所有工作都只有 Flink Streaming Job 作为他们的名字,所以我不知道选哪一个。
有没有办法更改flink list
中出现的作业名称?如果没有,是否有办法通过命令行获取有关正在运行的作业的其他信息(例如,从哪个JAR文件启动它,它的主要类是什么,等等)。如果没有,是否有办法从flink run
恢复作业ID,所以我可以将它存储在某种PID文件中,并稍后使用该ID来取消作业?
答案 0 :(得分:9)
StreamExecutionEnvironment.execute()
方法允许您设置作业的名称:
// execute program
env.execute("Streaming data into " + topicName + " topic");