Docker中部署flink集群的两种方式

一、概述

本文将通过 2 种方式在 docker 中部署 flink standalone 集群,集群中共有 4 个节点,分别是 1 个 jobManager 节点和 3 个 taskManager 节点。方式一能快速部署一个 flink 集群,但是使用的是默认配置,不够灵活,方式二使用的是外置配置文件,可以灵活控制集群配置。

二、准备工作

准备工作是方式一和方式二都需要执行的工作,准备工作很简单,就是用以下命令创建一个 flink 网络

docker network create flink-network

三、方式一

依次执行以下命令创建 flink 集群

docker run -d -p 8081:8081 --name flink-jobmanager --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: flink-jobmanager" flink:1.16.3-java8 jobmanager
docker run -d --name flink-taskmanager1 --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: flink-jobmanager" flink:1.16.3-java8 taskmanager
docker run -d --name flink-taskmanager2 --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: flink-jobmanager" flink:1.16.3-java8 taskmanager
docker run -d --name flink-taskmanager3 --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: flink-jobmanager" flink:1.16.3-java8 taskmanager

四、方式二

1、准备配置文件

  • 1.1、复制默认的 flink-conf.yaml 配置文件,并修改以下配置,然后重命名为 jobmanager-conf.yaml 并放在 /home/debo/dockerData/flink 目录下
jobmanager.rpc.address: flink-jobmanager
jobmanager.bind-host: 0.0.0.0
#taskmanager.bind-host: localhost
#taskmanager.host: localhost
rest.address: 0.0.0.0
rest.bind-address: 0.0.0.0
  • 1.2、复制默认的 flink-conf.yaml 配置文件,并修改以下配置,然后重命名为 taskmanager1-conf.yaml 并放在 /home/debo/dockerData/flink 目录下
jobmanager.rpc.address: flink-jobmanager
jobmanager.bind-host: 0.0.0.0
taskmanager.bind-host: 0.0.0.0
taskmanager.host: flink-taskmanager1
rest.address: 0.0.0.0
rest.bind-address: 0.0.0.0
  • 1.3、复制默认的 flink-conf.yaml 配置文件,并修改以下配置,然后重命名为 taskmanager2-conf.yaml 并放在 /home/debo/dockerData/flink 目录下
jobmanager.rpc.address: flink-jobmanager
jobmanager.bind-host: 0.0.0.0
taskmanager.bind-host: 0.0.0.0
taskmanager.host: flink-taskmanager2
rest.address: 0.0.0.0
rest.bind-address: 0.0.0.0
  • 1.4、复制默认的 flink-conf.yaml 配置文件,并修改以下配置,然后重命名为 taskmanager3-conf.yaml 并放在 /home/debo/dockerData/flink 目录下
jobmanager.rpc.address: flink-jobmanager
jobmanager.bind-host: 0.0.0.0
taskmanager.bind-host: 0.0.0.0
taskmanager.host: flink-taskmanager3
rest.address: 0.0.0.0
rest.bind-address: 0.0.0.0

2、执行 docker 命令

依次执行以下命令创建 flink 集群

docker run -d -p 8081:8081 --name flink-jobmanager --network flink-network --mount type=bind,src=/home/debo/dockerData/flink/jobmanager-conf.yaml,target=/opt/flink/conf/flink-conf.yaml flink:1.16.3-java8 jobmanager
docker run -d --name flink-taskmanager1 --network flink-network --mount type=bind,src=/home/debo/dockerData/flink/taskmanager1-conf.yaml,target=/opt/flink/conf/flink-conf.yaml flink:1.16.3-java8 taskmanager
docker run -d --name flink-taskmanager2 --network flink-network --mount type=bind,src=/home/debo/dockerData/flink/taskmanager2-conf.yaml,target=/opt/flink/conf/flink-conf.yaml flink:1.16.3-java8 taskmanager
docker run -d --name flink-taskmanager3 --network flink-network --mount type=bind,src=/home/debo/dockerData/flink/taskmanager3-conf.yaml,target=/opt/flink/conf/flink-conf.yaml flink:1.16.3-java8 taskmanager

相关推荐

  1. Docker部署flink方式

    2024-02-20 18:28:03       30 阅读
  2. Flink面试整理-Flink部署方式有哪些?

    2024-02-20 18:28:03       10 阅读
  3. Flink部署

    2024-02-20 18:28:03       15 阅读
  4. K8S更新部署docker方法举例

    2024-02-20 18:28:03       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 18:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 18:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 18:28:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 18:28:03       20 阅读

热门阅读

  1. 基于python的租车管理平台/汽车租赁网站

    2024-02-20 18:28:03       24 阅读
  2. mysql中文首字母排序查询

    2024-02-20 18:28:03       27 阅读
  3. 理解C++中仿函数(函数对象)中的状态保持

    2024-02-20 18:28:03       26 阅读
  4. 【Qt笔记】QSS中常见的伪状态

    2024-02-20 18:28:03       22 阅读
  5. css中, grid-auto-rows: 怎样简写在grid:中

    2024-02-20 18:28:03       23 阅读
  6. Flink容错机制

    2024-02-20 18:28:03       29 阅读
  7. 分享15个基本且常用Pandas代码(建议收藏)

    2024-02-20 18:28:03       23 阅读