2017-05-31 4 views
0

からFLINKジョブを再起動するためにどのようにこれはかなり単純な問題のようですが、研究の数日後、私はまだ正常FLINKジョブをキャンセルし、コードは、コード

から を、それを再起動する方法を見つけ出すことができませんでした

参考までに、同様の投稿があります:Canceling Apache Flink job from the codeですが、cancel()メソッドが役立つJobManagerを取得する方法を教えていませんでした。

誰かがこれにいくつかの光を当てることができますか?

答えて

0

私は、コードを使ってフリンクジョブをキャンセルする最も簡単な方法は、残りのAPIを使用することだと思います。 を参照してください:https://ci.apache.org/projects/flink/flink-docs-release-1.2/monitoring/rest_api.html#job-cancellation

次に、あなたがあなたのFLINKコードのメインクラスで再起動戦略を定義することができます。以下のような

final int restartAttempts = configuration.getInteger(RESTART_ATTEMPTS, 3); 
final int delayBtwAttempts = configuration.getInteger(RESTART_DELAY_IN_MILLIS, 3000); 
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); 
env.setRestartStrategy(fixedDelayRestart(restartAttempts, delayBtwAttempts)); 

参照:https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/restart_strategies.html