问题
有时候想在本地用flink运行一些程序,每次自己部署flink还挺麻烦的。好在flink官方已经打好了docker镜像,只要拿过来运行就好了。
下载flink镜像
# 如果在m1 mac上使用,由于这个镜像没有arm平台的,需要设置变量使用amd64的镜像
export DOCKER_DEFAULT_PLATFORM=linux/amd64
# 下载最新镜像
docker pull flink:latest
启动集群
FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager"
#
docker network create flink-network
# 宿主机器8081端口可能被占用,使用18081端口
docker run \
-d \
--rm \
--name=jobmanager \
--network flink-network \
--platform linux/amd64 \
--publish 18081:8081 \
--publish 6123:6123\
--env FLINK_PROPERTIES="${FLINK_PROPERTIES}" \
flink:latest jobmanager
docker run \
-d \
--rm \
--name=taskmanager-1 \
--platform linux/amd64 \
--network flink-network \
--env FLINK_PROPERTIES="${FLINK_PROPERTIES}" \
flink:latest taskmanager
docker run \
-d \
--rm \
--name=taskmanager-2 \
--platform linux/amd64 \
--network flink-network \
--env FLINK_PROPERTIES="${FLINK_PROPERTIES}" \
flink:latest taskmanager
使用
启动完成后,就可以访问http://localhost:18081 来使用flink webui了。
参考
https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/resource-providers/standalone/docker/ https://hub.docker.com/_/flink