Apache Flink を Docker で試す
こんにちは、 @kz_morita です。
今回は、 Apache Flink を試してみるのにあたって、docker の環境を作ってサンプルを実行してみたのでそのメモです。
いかに docker-compose ファイルとかをコミットしてあるので良ければ参考にしてみてください。
https://github.com/foresta/flink-on-docker flink を動かす flink は、stream 処理を実行するための framework です。
Docker で動かすために以下のページを参考にしました。
https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/standalone/docker/ 上記は、docker run コマンドでそれぞれ起動しているため、今回は docker-compose.yml ファイルを作成しました。
version:"3"services:jobmanager:image:flink:latestcontainer_name:flink-jobmanagerports:- "8081:8081"networks:- flink-networkenvironment:FLINK_PROPERTIES:"jobmanager.rpc.address: jobmanager"command:jobmanagertty:truetaskmanager:image:flink:latestcontainer_name:flink-taskmanagernetworks:- flink-networkenvironment:FLINK_PROPERTIES:"jobmanager.rpc.address: jobmanager"command:taskmanagertty:truenetworks:flink-network:上記は Flink の jobmanager と taskmanager を起動しています。それぞれを簡単に説明すると、jobmanager は Flink で実行したいジョブを管理するもので、実際に処理を行う worker node が taskmanager になります。
公式ページのこちら がわかりやすいです。
ちなみに、jobmanager には、WebUI が用意されているため、8081 ポートに接続できるようにしています。
上記の docker-compose ファイルを用意したら起動します。
$ docker-compose up -d 起動すると、localhost:8081 で以下のような WebUI にアクセスできます。