重要: Scalaに依存するMaven アーティファクトはScalaのメジャーバージョンが後ろに付きます。例えば、"2.10" あるいは "2.11"。プロジェクトwiki上のマイグレーションガイドに相談してください。

クラスタ設定

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

必要条件

ソフトウェアの要求

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

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

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

上に戻る

JAVA_HOME 設定

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

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

上に戻る

ダウンロードページに移動し、パッケージを実行する準備をしてください。Hadoopバージョンに合致するFlinkパッケージを選ぶようにしてください。Hadoopを使う予定がない場合は、任意のバージョンを選んでください。

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

tar xzf flink-*.tgz
cd flink-*

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

jobmanager.rpc.addressキーがマスターノードを示すように設定します。Furthermode 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.

値はMBで指定されます。ワーカーノードがFlinkシステムに割り当てたいと思うよりも多くのメインメモリを持つ場合は、それぞれのノード上で環境変数 FLINK_TM_HEAP を設定することでデフォルトを上書くことができます。

最後にワーカーノードとして使用されるべきクラスタの全てのノードのリストを提供する必要があります。したがってHDFS設定と同じようにファイルconf/slavesを編集し、各ワーカーノードのIP/ホスト名を入力します。各ワーカーノードは後でタスクマネージャーを実行するでしょう。

各エントリは以下の例のように改行で分割されていなければなりません:

192.168.0.100
192.168.0.101
.
.
.
192.168.0.150

Flinkディレクトリは各ワーカーの同じパスで利用可能でなければなりません。共通NFSディレクトリを使うか、各ワーカーノードへFlinkディレクトリ全体をコピーすることができます。

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

特に、

  • タスクマネージャーごとに利用可能なメモリの総量 (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

それぞれのインスタンスを開始/停止したいホスト上でこれらのスクリプトを呼ぶようにしてください。

上に戻る

TOP
inserted by FC2 system