当前位置: 首页 > 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

相关文章:

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

文章目录 一、概述二、准备工作三、方式一四、方式二1、准备配置文件2、执行 docker 命令 一、概述 本文将通过 2 种方式在 docker 中部署 flink standalone 集群,集群中共有 4 个节点,分别是 1 个 jobManager 节点和 3 个 taskManager 节点。方式一能快…...

八、计算机视觉-边界填充

文章目录 前言一、原理二、具体的实现 前言 在Python中使用OpenCV进行边界填充(也称为zero padding)是一种常见的图像处理操作,通常用于在图像周围添加额外的像素以便进行卷积或其他操作。下面是使用OpenCV进行边界填充的基本原理和方法 一…...

ffmpeg 硬件加速介绍

基于OS的硬件加速 Windows 参考[2],基于windows的硬件加速都是基于DirectX API,我们可以用ffmpeg -hwaccels查看当前环境支持的硬件加速接口,如下为windows上的执行ffmpeg --hwaccels的结果。 在linux上执行ffmpeg -hwaccels的结果如下: 可以看到windows上支持的硬件加速…...

【QT+QGIS跨平台编译】之三十九:【Exiv2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、Exiv2介绍二、文件下载三、文件分析四、pro文件4.1 exiv2-xmp4.2 exiv2lib_int4.3 exiv2lib五、编译实践一、Exiv2介绍 Exiv2是一个开源的C++库,用于读取、编辑和写入图片和视频文件的元数据。它可以处理各种类型的元数据,包括EXIF、IPTC、XMP等。 元数据是与…...

术业有专攻!三防加固平板助力工业起飞

在日常使用中的商业电脑比较追求时效性,以市场定位做标准,内部元件只需满足一般要求就行,使用寿命比较短。而三防平板电脑是主要运用在复杂、恶劣的环境下所以在需求方面较高,需要保证产品在恶劣条件下正常使用,满足行业领域的需求…...

适合tiktok运营的云手机需要满足什么条件?

TikTok作为一款全球热门的社交媒体平台,具有无限的市场潜力。然而,卖家在运营过程中常常会面临到视频0播、账号被降权、限流等问题,甚至可能因为多人同时使用一个IP而导致封号的风险。为了规避这些问题,越来越多的卖家将目光投向了…...

微服务-微服务Nacos配置中心

1.1 配置中心架构 1.2 Config Client源码分析 配置中心核心接口ConfigService public class ConfigServerDemo {public static void main(String[] args) throws NacosException, InterruptedException {String serverAddr "localhost";String dataId "naco…...

配置Python环境及job运行的虚拟环境

1、配置Jenkins的Python环境:Manage Jnekins-Global Tool Configuration-Python 2、安装pyenv插件 此插件会给每个job都创建一个虚拟Python环境 安装后,在job config-build中选择 virtualenv builder build job的时候会自动在/opt/jenkins(node主机的…...

【Java】图解 JVM 垃圾回收(二):垃圾收集器、Full GC

图解 JVM 垃圾回收(二) 1.垃圾收集器1.1 内存分配与回收策略1.2 Serial 收集器1.3 Parallel Scavenge 收集器1.4 ParNew 收集器1.5 CMS 收集器1.6 G1 收集器 2.Full GC 的触发条件 1.垃圾收集器 Java 虚拟机提供了多种垃圾回收器,每种回收器…...

Opencv绘图之rectangle、circle、line、ellipse、Rect、RotatedRect、Point

OpenCV中提供了多种函数来在图像上绘制各种基本形状,如矩形、圆形、线条、椭圆等。同时,Rect和RotatedRect是用来表示矩形区域的类,它们在图像处理中非常有用,尤其是在需要定义和操作图像区域时。Point类用于表示二维空间中的一个…...

HTML 字符实体参考清单

前言 一些字符在 HTML 中是预留的&#xff0c;拥有特殊的含义&#xff0c;比如小于号‘<’用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符&#xff0c;我们必须在 HTML 源码中插入字符实体。 字符实体有三部分&#xff1a;一个和号‘&’和一个实体名…...

设计模式二:代理模式

1、什么是动态代理 可能很多小伙伴首次接触动态代理这个名词的时候&#xff0c;或者是在面试过程中被问到动态代理的时候&#xff0c;不能很好的描述出来&#xff0c;动态代理到底是个什么高大上的技术。不方&#xff0c;其实动态代理的使用非常广泛&#xff0c;例如我们平常使…...

php使用get_browser()函数将移动端和pc端分开

首先&#xff0c;确保你的PHP版本支持get_browser函数。get_browser函数是PHP内置的函数&#xff0c;但需要配置php.ini文件中的browscap参数&#xff0c;指定一个浏览器配置文件。 下载浏览器配置文件。你可以从 https://download.csdn.net/download/bigorange1/88850695 下…...

更改WordPress作者存档链接author和Slug插件Edit Author Slug

WordPress默认所有用户的存档永久链接都是/author/username/&#xff0c;不管是管理员还是订阅者或贡献者或作者或编辑。如果你想要自定义用户存档链接&#xff0c;比如根据角色不同使用不一样的author&#xff0c;或者自定义作者链接中的用户名Slug&#xff0c;那么建议考虑使…...

RISCV——Spinlock锁的理解

目录 1. 原子操作 2. 锁是干嘛的 3. 锁的实现 1. 原子操作 gcc从4.1.2开始提供了__sync_*系列的build-in函数&#xff0c;用于提供加减和逻辑运算的原子操作&#xff0c;主要接口的其声明如下&#xff1a; type __sync_fetch_and_add (type *ptr, type value, ...): 将valu…...

阿里云幻兽帕鲁Windows 服务器怎么下载存档?

阿里云幻兽帕鲁Windows 服务器怎么下载存档&#xff1f;通过远程连接window服务器桌面的方式。 远程连接到阿里云的 Windows 服务器后&#xff0c;可以将压缩后的存档文件&#xff0c;拖动到 workbench\Download 目录后&#xff0c;就会触发浏览器的文件下载&#xff0c;然后将…...

ArcGIS API for JavaScript 4.X 本地部署(js,字体)

0 目录&#xff08;4.19&#xff09; /4.19/ 1 修改文件 1.1 init.js 编辑器打开/4.19/init.js搜索文本[HOSTNAME_AND_PATH_TO_JSAPI]&#xff0c;然后将其连同前面的https://替换为http://ip地址/4.19&#xff0c;可以是localhost&#xff0c;只能本机引用 替换后&#xff…...

202427读书笔记|《猫的自信:治愈系生活哲学绘本》——吸猫指南书,感受猫咪的柔软慵懒与治愈

202427读书笔记|《猫的自信&#xff1a;治愈系生活哲学绘本》——吸猫指南书&#xff0c;感受猫咪的柔软慵懒与治愈 《猫的自信&#xff1a;治愈系生活哲学绘本》作者林行瑞&#xff0c;治愈系小漫画绘本&#xff0c;10分钟可以读完的一本书&#xff0c;线条明媚&#xff0c;自…...

数据结构链表力扣例题AC(2)——代码以及思路记录

206. 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 AC方法1 struct ListNode* reverseList(struct ListNode* head) {if(head NULL)return NULL;struct ListNode* n1, *n2, *n3;n1 NULL;n2 head;n3 head->next;while…...

C++面试宝典第30题:分发饼干

题目 假设你是一位非常棒的家长,想要给你的孩子们分发一些小饼干。但是,每个孩子最多只能给一块饼干。对每一个孩子i,都有一个胃口值gi,这是能让孩子们满足胃口的饼干的最小尺寸。对每一块饼干j,都有一个尺寸sj。如果sj >= gi,我们就可以将这个饼干j分配给孩子i,这个…...

EZModbus:面向ESP32的异步无锁Modbus C++库

1. EZModbus项目概述EZModbus是一个专为ESP32平台设计的C Modbus通信库&#xff0c;深度集成FreeRTOS实时操作系统&#xff0c;支持Arduino IDE与原生ESP-IDF两种开发框架。该库并非对现有Modbus协议栈的简单封装&#xff0c;而是从零构建的异步事件驱动型实现&#xff0c;其核…...

快照模式 vs 命令模式:一篇分清什么时候用谁

在做带撤销、回滚、历史记录的功能时&#xff0c;我们最常纠结两个设计模式&#xff1a;快照模式&#xff08;备忘录模式&#xff09;和命令模式。很多同学容易混淆&#xff0c;其实核心区别一句话就能记住&#xff1a; 快照存数据&#xff0c;命令存动作。 下面用最清晰、最好…...

OpenClaw飞书机器人进阶:集成Kimi-VL-A3B-Thinking多模态对话能力

OpenClaw飞书机器人进阶&#xff1a;集成Kimi-VL-A3B-Thinking多模态对话能力 1. 为什么需要多模态飞书机器人 去年我们团队开始使用飞书作为主要协作工具&#xff0c;但很快发现一个痛点&#xff1a;当讨论涉及图片、图表或复杂文档时&#xff0c;传统的文本机器人显得力不从…...

“16QAM调制与解调系统的SystemView仿真及分析”

通信原理 systemview 16QAM调制与解调系统的仿真 16QAM调制解调系统与解调系统的仿真 用SystemView建立一个16QAM调制解调器电路,分析理解系统的各个模块功能&#xff0c;观察波形图 判断是不是实现了16QAM调制解调系统功能 基本要求: (1)在SystemView软 件中构建短波16QAM仿真…...

Scratch二次开发实战:如何按需“阉割”菜单栏功能?从关闭语言切换、主题到隐藏教程按钮

Scratch教学环境定制指南&#xff1a;精准控制菜单栏功能的艺术 1. 为什么需要定制Scratch界面&#xff1f; 在少儿编程教育领域&#xff0c;Scratch作为全球最受欢迎的图形化编程工具之一&#xff0c;其默认界面设计面向的是广泛年龄段的国际用户。然而在实际教学场景中&#…...

Ollama环境变量全解析:除了OLLAMA_GPU_LAYER,这些参数也能大幅提升你的模型运行效率

Ollama环境变量全解析&#xff1a;除了OLLAMA_GPU_LAYER&#xff0c;这些参数也能大幅提升你的模型运行效率 当你已经成功配置Ollama的GPU基础功能后&#xff0c;真正的性能优化之旅才刚刚开始。那些隐藏在环境变量列表中的参数&#xff0c;就像赛车引擎舱内的精密调校旋钮&…...

如何用ESP32打造你的终极智能网络收音机:YoRadio完全指南

如何用ESP32打造你的终极智能网络收音机&#xff1a;YoRadio完全指南 【免费下载链接】yoradio Web-radio based on ESP32-audioI2S library 项目地址: https://gitcode.com/GitHub_Trending/yo/yoradio ESP32 YoRadio是一款基于ESP32的开源智能网络收音机项目&#xff…...

《算法题讲解指南:动态规划算法--子序列问题》--29.最长递增子序列的个数,30.最长数对链,31.最长定差子序列

&#x1f525;小叶-duck&#xff1a;个人主页 ❄️个人专栏&#xff1a;《Data-Structure-Learning》《C入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法 ✨未择之路&#xff0…...

Comate vs. Cursor:国产AI IDE如何以多智能体协同重塑开发体验?

1. Comate与Cursor&#xff1a;AI IDE赛道的双雄对决 当代码补全插件已经无法满足开发者的需求时&#xff0c;AI原生IDE正在掀起一场开发工具的革命。在这场变革中&#xff0c;百度的Comate和Cursor成为了最受关注的两个选手。作为一个长期使用各类开发工具的老码农&#xff0c…...

2025届毕业生推荐的五大AI辅助论文平台推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 使AIGC检测率得以降低的关键要点在于&#xff0c;切实有效地去削弱文本所展现出来的呈现机器…...