Program Packaging
This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.

プログラムのパッケージングと分散実行 #

以前説明したように、Flinkのプログラムは リモート環境を使ってクラスタ上で実行することができます。別のやり方として、プログラムは実行のためにJARファイル(Java書庫)にパッケージすることができます。プログラムのパッケージ化はコマンドラインインタフェースを使ってそれらを実行する必須条件です。

プログラムのパッケージ化 #

コマンドラインあるいはwebインタフェースを使ってパッケージ化されたJARファイルからの実行をサポートするには、プログラムは StreamExecutionEnvironment.getExecutionEnvironment()によって取得された環境を使う必要があります。この環境はJARがコマンドラインあるいはwebインタフェースにサブミットされた時に、クラスタの環境として振舞うでしょう。もしFlinkのプログラムがこれらのインタフェースと異なる起動をされた場合、その環境はローカル環境のように振舞うでしょう。

プログラムをパッケージ化するためには、単純に全ての起動されるクラスをJARファイルとしてexportします。JARファイルのmanifestはプログラムの entry point(public main メソッドを持つクラス)を含むクラスを示す必要があります。これを行う最も簡単な方法はmain-classエントリを(main-class: org.apache.flinkexample.MyProgramのように)manifestに入れることです。main-class属性は、コマンド java -jar pathToTheJarFileを使ってJARファイルを実行する時にmainメソッドを見つけるためにJava仮想マシーンで使われるものと同じです。ほとんどのIDEはJARファイルをexportする時に自動的にその属性を含むことを提供します。

概要 #

パッケージ化されたプログラムを起動する全般的な手順は以下の2つのステップからなります:

  1. JARのmanifestはmain-classあるいはprogram-class属性のために検索されます。両方の属性が見つかった場合、program-class属性はmain-class属性よりも優先されます。JARのmanifestがどちらの属性も含まない場合のために、コマンドラインおよびwebインタフェースの両方とも手動でエントリ ポイントクラス名を渡すためのパラメータをサポートします。

  2. システムがクラスのmainメソッドを起動します。

Back to top

inserted by FC2 system