これらの指示に従って、既存のストーム トポロジをフリンク ジョブに変換しています。flink 1.0 (SNAPSHOT) を git 経由でインストールし、ウェブサーバーとストリーミング サーバーをローカルで実行しています。
gradle を介して .jar ファイルにトポロジを構築し、flink Web インターフェイスを介して送信すると、「エントリ クラスが指定されていません」というメッセージが表示されます。
エントリーポイントがありませんか?.jar に何か特別なものが必要ですか? マニフェスト?
この .jar は、ストーム クラスターに送信されたときに機能していました。関連する flink .jar ファイルを (どのように) 追加しました。
編集:
コマンドライン経由でジョブを送信すると、次のメッセージが表示されました。
org.apache.flink.client.program.ProgramInvocationException: 'Main-Class' も 'program-class' エントリも jar ファイルに見つかりませんでした。org.apache.flink.client.program.PackagedProgram.getEntryPointClassNameFromJar(PackagedProgram.java:563) で org.apache.flink.client.program.PackagedProgram.(PackagedProgram.java:186) で org.apache.flink.client. program.PackagedProgram.(PackagedProgram.java:124) で org.apache.flink.client.CliFrontend.buildProgram(CliFrontend.java:725) で org.apache.flink.client.CliFrontend.run(CliFrontend.java:287) でorg.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:971) で org.apache.flink.client.CliFrontend.main(CliFrontend.java:1021)
このJIRA を読むと、いくつかの答えが示唆されます。
- マニフェストを追加する
- コマンドラインにエントリ ポイントを追加します (「-c <package>」オプションを使用します)。