Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities.
Learn more about Flink at https://flink.apache.org/
%%LOGO%%
Starting with Flink 1.5, images without "hadoop" in the tag are the "Hadoop-free" variant of Flink. If you require Hadoop support (such as its HDFS filesystem implementation), you should reference an image whose tag includes the Hadoop version you need.
You can run a JobManager (master).
$ docker run --name flink_jobmanager -d -t %%IMAGE%% jobmanager
You can also run a TaskManager (worker). Notice that workers need to register with the JobManager directly or via ZooKeeper so the master starts to send them tasks to execute.
$ docker run --name flink_taskmanager -d -t %%IMAGE%% taskmanager
With Docker Compose you can create a Flink cluster:
version: "2.1"
services:
jobmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink}
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink}
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
and just run docker-compose up.
Scale the cluster up or down to N TaskManagers:
docker-compose scale taskmanager=<N>
These are the default ports used by the Flink image:
8081612361226121This repository is available on github.com/docker-flink/docker-flink, and the official build is on the Docker Hub.
This repository is maintained by members of the Apache Flink community.