使用Docker安装Flink
拉取Flink镜像,创建网络
docker pull flink
docker network create flink-network
创建 jobmanager
# 创建 JobManager
docker run \
-itd \
--name=jobmanager \
--publish 8081:8081 \
--network flink-network \
--env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" \
flink:latest jobmanager
创建 taskmanager
# 创建 TaskManager
docker run \
-itd \
--name=taskmanager \
--network flink-network \
--env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" \
flink:latest taskmanager
访问
访问 http://localhost:8081/

修改配置文件
注意:默认的docker容器中没有vi/vim命令,可以使用docker cp命令,复制出来修改,然后在复制回去,如下:
# jobmanager 容器
docker cp jobmanager:/opt/flink/conf ./JobManager/
# taskmanager 容器
docker cp taskmanager:/opt/flink/conf ./TaskManager/
修改的目录是jobmanager和taskmanager的/opt/flink/conf的flink-conf.yaml文件:

修改web端口号
修改 JobManager/conf/flink-conf.yaml web 端口号为 18081

修改任务槽数
默认的Slots num是1
我们可以修改为5,修改taskmanager.numberOfTaskSlots:即可。 :

重新启动并挂载配置文件
# 启动 JobManager
docker run -itd -v /home/xps/桌面/dev/flink/JobManager/:/opt/flink/conf/ --name=jobmanager --publish 18081:18081 --env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" --network flink-network flink:latest jobmanager
# 启动 TaskManager
docker run -itd -v /home/xps/桌面/dev/flink/TaskManager/:/opt/flink/conf/ --name=taskmanager --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" flink:latest taskmanager
参数解释:
FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager": rpc 地址,必须设置,否则 jobmanager 和 taskmanager 的 rpc 地址都是随机生成,会连接不上,当然你也可以在直接修改配置文件 flink-conf.yaml
如下两个容器启动成功,可以看到 web 端口为 18081,taskmanager 启动一个,包含 5 个任务槽
