スタンドアローン クラスタ

このページでは、静的な(しかし異成分から成る)クラスタ上の完全な分散形式 でFlinkを実行する方法を説明します。

必要条件

ソフトウェアの要求

Flinkは全てのUNIX-likeな環境、例えばLinux, Mac OS XおよびCygwin (for Windows) 上で動作し、 1つのマスターノード1つ以上のワーカーノードから成るクラスタを必要とします。システムのセットアップを開始する前に、各ノード上で以下のソフトウェアがインストールされているようにしてください:

  • Java 1.7.x 以上、
  • ssh (リモートコンポーネントを管理するFlinkスクリプトを使うためにsshdが実行されていなければなりません)

クラスタがこれらのソフトウェアの要求を完全に満たしていない場合は、それをインストール/アップグレードする必要があるでしょう。

Having passwordless SSH and the same directory structure on all your cluster nodes will allow you to use our scripts to control everything.

上に戻る

JAVA_HOME 設定

Flinkはマスターと全てのワーカーノード上でJAVA_HOME 環境変数が設定され、Javaインストレーションのディレクトリを指していることを必要とします。

conf/flink-conf.yaml内でenv.java.homeキーを使ってこの変数を設定することができます。

上に戻る

Go to the downloads page and get the ready-to-run package. Hadoopバージョンに合致するFlinkパッケージを選ぶようにしてください。Hadoopを使う予定がない場合は、任意のバージョンを選んでください。

最新のリリースをダウンロードした後で、書庫をマスターノードにコピーし、それを解凍します:

tar xzf flink-*.tgz
cd flink-*

システムファイルを解凍した後で、conf/flink-conf.yamlを編集することでクラスタのためのFlinkを設定する必要があります。

jobmanager.rpc.addressキーがマスターノードを示すように設定します。You should also define the maximum amount of main memory the JVM is allowed to allocate on each node by setting the jobmanager.heap.mb and taskmanager.heap.mb keys.

These values are given in MB. If some worker nodes have more main memory which you want to allocate to the Flink system you can overwrite the default value by setting the environment variable FLINK_TM_HEAP on those specific nodes.

Finally, you must provide a list of all nodes in your cluster which shall be used as worker nodes. したがってHDFS設定と同じようにファイルconf/slavesを編集し、各ワーカーノードのIP/ホスト名を入力します。各ワーカーノードは後でタスクマネージャーを実行するでしょう。

The following example illustrates the setup with three nodes (with IP addresses from 10.0.0.1 to 10.0.0.3 and hostnames master, worker1, worker2) and shows the contents of the configuration files (which need to be accessible at the same path on all machines):

/path/to/flink/conf/
flink-conf.yaml

jobmanager.rpc.address: 10.0.0.1

/path/to/flink/
conf/slaves

10.0.0.2
10.0.0.3

Flinkディレクトリは各ワーカーの同じパスで利用可能でなければなりません。You can use a shared NFS directory, or copy the entire Flink directory to every worker node.

詳細および追加の設定オプションについては設定ページ を見てください。

特に、

  • the amount of available memory per JobManager (jobmanager.heap.mb),
  • タスクマネージャーごとに利用可能なメモリの総量 (taskmanager.heap.mb)、
  • マシーンごとに利用可能なCPUの数 (taskmanager.numberOfTaskSlots)、
  • クラスタ内のCPUの総数 (parallelism.default) および
  • 一時的なディレクトリ (taskmanager.tmp.dirs)

は、とても重要な設定値です。

上に戻る

以下のスクリプトはローカルノードでジョブマネージャーを開始し、slaves ファイルに記載された全てのワーカーノード上でタスクマネージャーを開始するためにSSHを使って接続します。これで、Flinkシステムは準備ができ実行されます。これでローカルノードで実行中のジョブマネージャーは設定されたRPCポートでジョブを受け付けるでしょう。

マスターノードのFlinkディレクトリに居るとすると:

bin/start-cluster.sh

Flinkを停止するために、stop-cluster.sh スクリプトもあります。

上に戻る

ジョブマネージャー/タスクマネージャーのインスタンスをクラスタに追加

bin/taskmanager.shbin/jobmanager.sh スクリプトを使って実行中のクラスタへジョブマネージャーおよびタスクマネージャーを追加することができます。

ジョブマネージャーの追加

bin/jobmanager.sh (start cluster)|stop|stop-all

タスクマネージャーの追加

bin/taskmanager.sh start|stop|stop-all

Make sure to call these scripts on the hosts on which you want to start/stop the respective instance.

上に戻る

TOP
inserted by FC2 system