当前位置: 首页 > news >正文

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

文章目录

    • 一、概述
    • 二、准备工作
    • 三、方式一
    • 四、方式二
      • 1、准备配置文件
      • 2、执行 docker 命令

一、概述

本文将通过 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

相关文章:

  • SQL字符集
  • Web 前端 UI 框架Bootstrap简介与基本使用
  • 手拉手Vite+Vue3+TinyVue+Echarts+TailwindCSS
  • 武汉AAA企业信用等级认证
  • 【MATLAB】 EWT信号分解+FFT傅里叶频谱变换组合算法
  • 【DAY03 软考中级备考笔记】存储系统,总线系统,输入输出系统和可靠性
  • verilog学习
  • vue 使用docx库生成word表格文档
  • 编程笔记 Golang基础 013 格式化输入输出
  • 企业级SAS盘SSDPM1643a PM1653 Nytro 2050 KPM71VUG3T20固态硬盘
  • Rust-知多少?
  • mysql-多表查询-内连接
  • java日志框架总结(六、logback日志框架 扩展)
  • 解决 PLC QModbusTcpClient 通信自动断开
  • VSCode React JavaScript Snippets 插件的安装与使用指南
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【mysql】环境安装、服务启动、密码设置
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 3.7、@ResponseBody 和 @RestController
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • github从入门到放弃(1)
  • interface和setter,getter
  • Javascript编码规范
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • React as a UI Runtime(五、列表)
  • Twitter赢在开放,三年创造奇迹
  • uni-app项目数字滚动
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 爱情 北京女病人
  • 翻译--Thinking in React
  • 和 || 运算
  • 看域名解析域名安全对SEO的影响
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 免费小说阅读小程序
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 使用SAX解析XML
  • MyCAT水平分库
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #Java第九次作业--输入输出流和文件操作
  • #laravel 通过手动安装依赖PHPExcel#
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)JAVA中的堆栈
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core跨平台微服务学习资源