docker compose部署flink集群
本次部署2个jobmanager和3个taskmanager
一、部署zookeeper集群
flink使用zookeeper用作高可用
部署集群参考:docker compose部署zookeeper集群-CSDN博客
二、创建目录及配置文件
创建timezone文件,内容填写Asia/Shanghai
手动创建目录:data、conf、tmp、log

conf文件夹内容如下:

需要为每个节点单独准备配置文件,log4j和logback配置可以共用
这些配置文件,可以从官网下载flink包解压后获取,或启动flink容器后docker cp复制出来。
逐个修改flink-conf-xxx.yaml配置
以flink-conf-jobmanager1.yaml举例:配置如下








![]()

其他配置文件,根据各配置项的备注描述进行对应修改
三、创建docker compose文件
vim docker-compose.yaml
networks:
net:
external: trueservices:
jobmanager1:
restart: always
image: apache/flink:1.16.3
container_name: jobmanager1
hostname: jobmanager1
ports:
- '8081:8081'
volumes:
- /etc/localtime:/etc/localtime
- /home/sumengnan/apache/flink/timezone:/etc/timezone
- /home/sumengnan/apache/flink/conf/flink-conf-jobmanager1.yaml:/opt/flink/conf/flink-conf.yaml
- /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
- /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
- /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
- /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
- /home/sumengnan/apache/flink/data:/opt/flink/data
- /home/sumengnan/apache/flink/log:/opt/flink/log
- /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
networks:
- net
jobmanager2:
restart: always
image: apache/flink:1.16.3
container_name: jobmanager2
hostname: jobmanager2
ports:
- '8082:8081'
volumes:
- /etc/localtime:/etc/localtime
- /home/sumengnan/apache/flink/timezone:/etc/timezone
- /home/sumengnan/apache/flink/conf/flink-conf-jobmanager2.yaml:/opt/flink/conf/flink-conf.yaml
- /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
- /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
- /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
- /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
- /home/sumengnan/apache/flink/data:/opt/flink/data
- /home/sumengnan/apache/flink/log:/opt/flink/log
- /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
networks:
- net
depenes_on:
- jobmanager1
taskmanager1:
restart: always
image: apache/flink:1.16.3
container_name: taskmanager1
hostname: taskmanager1
command: taskmanager
volumes:
- /etc/localtime:/etc/localtime
- /home/sumengnan/apache/flink/timezone:/etc/timezone
- /home/sumengnan/apache/flink/conf/flink-conf-taskmanager1.yaml:/opt/flink/conf/flink-conf.yaml
- /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
- /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
- /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
- /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
- /home/sumengnan/apache/flink/data:/opt/flink/data
- /home/sumengnan/apache/flink/log:/opt/flink/log
- /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
networks:
- net
depenes_on:
- jobmanager1
- jobmanager2
taskmanager2:
restart: always
image: apache/flink:1.16.3
container_name: taskmanager2
hostname: taskmanager2
command: taskmanager
volumes:
- /etc/localtime:/etc/localtime
- /home/sumengnan/apache/flink/timezone:/etc/timezone
- /home/sumengnan/apache/flink/conf/flink-conf-taskmanager2.yaml:/opt/flink/conf/flink-conf.yaml
- /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
- /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
- /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
- /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
- /home/sumengnan/apache/flink/data:/opt/flink/data
- /home/sumengnan/apache/flink/log:/opt/flink/log
- /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
networks:
- net
depenes_on:
- jobmanager1
- jobmanager2
taskmanager3:
restart: always
image: apache/flink:1.16.3
container_name: taskmanager3
hostname: taskmanager3
command: taskmanager
volumes:
- /etc/localtime:/etc/localtime
- /home/sumengnan/apache/flink/timezone:/etc/timezone
- /home/sumengnan/apache/flink/conf/flink-conf-taskmanager3.yaml:/opt/flink/conf/flink-conf.yaml
- /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
- /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
- /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
- /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
- /home/sumengnan/apache/flink/data:/opt/flink/data
- /home/sumengnan/apache/flink/log:/opt/flink/log
- /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
networks:
- net
depenes_on:
- jobmanager1
- jobmanager2
四、启动

五、访问
访问8081或8082jobmanager

可以看出jobmanager与3个taskmanager工作正常
相关文章:
docker compose部署flink集群
本次部署2个jobmanager和3个taskmanager 一、部署zookeeper集群 flink使用zookeeper用作高可用 部署集群参考:docker compose部署zookeeper集群-CSDN博客 二、创建目录及配置文件 创建timezone文件,内容填写Asia/Shanghai 手动创建目录:…...
docker compose快速部署kafka-connect集群
先部署kafka集群,启动 参考:docker compose部署kafka集群-CSDN博客 创建timezone文件,内容填写Asia/Shanghai 再部署kafka-connect集群 networks: net: external: true services: kafka-connect1: restart: always image:…...
【核心特性】Go 模块化开发入门(go mod 深度解析)
Go 模块化开发入门(go mod 深度解析) 一、引言 在 Go 语言的开发过程中,随着项目规模的不断扩大,依赖管理变得愈发重要。Go Modules 作为 Go 语言官方的依赖管理工具,自 Go 1.11 版本引入后,极大地简化了项…...
国产ARM处理器工控机如何助力企业实现自主可控?
选择国产ARM处理器工控机的原因可以从多个角度来考虑,包括技术、经济、安全和政策等方面。以下是一些关键理由: 技术优势 低功耗高效能:ARM架构以其出色的能效比著称,适合需要长时间运行的工业控制应用。适应性强:国…...
dns功能及工作原理是什么?
在互联网的浩瀚海洋中,域名系统(DNS)扮演着至关重要的角色。它就像一个巨大的地址簿,将用户友好的域名转换为机器可识别的IP地址,确保用户能够访问到正确的服务器。本文将深入探讨DNS的功能和工作原理,揭示这一互联网基础设施的奥…...
Java中的Map集合与文件操作详解
1. Map集合概述 Map是一种键值对(key-value)的集合,常用于存储具有映射关系的数据。与List和Set不同,Map的键(key)是唯一的,而值(value)可以重复。Map集合的主要实现类有…...
SAP-ABAP:dialog界面中的数据块Event Block详解举例
在SAP的Dialog程序开发中,Event Block(事件块)是屏幕流逻辑(Flow Logic)中的关键部分,用于定义屏幕在特定事件触发时执行的逻辑。Event Block通常与ABAP模块(Module)结合使用&#x…...
PostgreSQL 开发利器:Navicat 核心功能与资源攻略
近几年,🐘 PostgreSQL 在全球数据库排名中表现优异。在 2025 年 2 月 DB-Engines 排名中 (如图),PostgreSQL 稳居第四名,并逐渐逼近第三名的 Microsoft SQL Server,其评分和受欢迎度持续增长,成为开源数据库…...
飞算 JavaAI:加速 AI + 行业趋势的智能化进程
在数字化浪潮奔涌的当下,“AI 行业” 已然成为不可逆的发展趋势,各行业都在积极探索 AI 技术与自身业务的融合,期望借此实现创新突破与转型升级。在这一进程中,飞算 JavaAI凭借其卓越的技术实力和独特的功能优势,为加…...
XZ_Mac电脑上本地化部署DeepSeek的详细步骤
根据您的需求,以下是Mac电脑上本地化部署DeepSeek的详细步骤: 一、下载并安装Ollama 访问Ollama官网: 打开浏览器,访问 Ollama官网。 下载Ollama: 在官网中找到并点击“Download”按钮,选择适合Mac系统的…...
Flink-DataStream API
一、什么样的数据可以用于流式传输 Flink的DataStream API 允许流式传输他们可以序列化的任何内容。Flink自己的序列化程序用于 基本类型:即字符串、长、整数、布尔值、数组复合类型:元组、POJO和Scala样例类 基本类型我们已经很熟悉了,下…...
2.4 构建模块化应用
第4章:构建模块化应用 模块化应用是 JDK 9 的核心特性之一,通过模块化系统(Project Jigsaw)实现代码的强封装和显式依赖管理。本章详细讲解如何从零构建一个模块化应用,包括模块定义、编译、打包、运行及调试。 4.1 模…...
DeepSeek:从入门到精通
在人工智能飞速发展的今天,DeepSeek作为一款备受瞩目的AI工具,正以其强大的功能和开源理念改变着我们的生活和工作方式。本文将带你深入了解DeepSeek,从基础入门到进阶应用,助你快速掌握这一前沿工具。 文末有详细资料可下载 文末…...
JAVA学习第二天
ArryList的构造方法和添加方法 01。构造方法的<>里面可以放数据类型 02. add()可以直接在后面加入数据,也可以指定下标的插入元素。 ArrayList的常用方法 ArrayList存储对象 在Java中,System.out.println()可以打印基本数据…...
DevOps工具链概述
1. DevOps工具链概述 1.1 DevOps工具链的定义 DevOps工具链是支持DevOps实践的一系列工具的集合,这些工具覆盖了软件开发的整个生命周期,包括需求管理、开发、测试、部署和运维等各个环节。它旨在通过工具的集成和自动化,打破开发与运维之间…...
windows系统远程桌面连接ubuntu18.04
记录一下自己在配置过程中遇到的问题,记录遇到的两大坑: windows系统通过xrdp远程桌面连接ubuntu18.04的蓝屏问题。参考以下第一章解决。 同一局域网内网段不同的连接问题。参考以下第三章解决,前提是SSH可连。 1. 在ubuntu上安装xrdp 参考&…...
kafka动态监听主题
简单版本 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.kafka.core.ConsumerFactory; import org.springframework.kafka.listener.ConcurrentMessageListenerContainer; import org.springframework.kafka.listener.Containe…...
Python虚拟环境管理工具 pyenv
情景 我现在在部署一个python 项目,需要用到Python 3.10。但是我本地已经有了一个3.12解释器,有没有一种方法,可以管理python 环境,还可以随意切换。怎么做? window 安装pyenv-win 使用 PowerShell(以管…...
网络安全产品架构图 网络安全相关产品
一、信息安全产品分类 背景 美国将网络和信息安全产品分了9类:鉴别、访问控制、入侵检测、防火墙、公钥基础设施、恶意程序代码防护、漏洞扫描、取证、介质清理或擦除。中国公安部将网络和信息安全产品分了7类:操作系统安全、数据库安全、网络安全、病毒…...
C++ 实践扩展(Qt Creator 联动 Visual Studio 2022)
这里我们将在 VS 上实现 QT 编程,实现如下: 一、Vs 2022 配置(若已安装,可直接跳过) 点击链接:Visual Studio 2022 我们先去 Vs 官网下载,如下: 等待程序安装完成之…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
