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 官网下载,如下: 等待程序安装完成之…...
5个关键步骤掌握PyAEDT:从安装到高级仿真实战指南
5个关键步骤掌握PyAEDT:从安装到高级仿真实战指南 【免费下载链接】pyaedt AEDT Python Client Package 项目地址: https://gitcode.com/gh_mirrors/py/pyaedt PyAEDT作为Ansys Electronics Desktop的Python客户端库,为工程师提供了强大的电子设计…...
【译】《心悟内核:先懂设计,再读代码》—1、内核并非进程,而是整个系统本身
作者:Moon Hee Lee 原文: The Kernel in the Mind 心悟内核:先懂设计,再读代码——内核并非进程,而是整个系统本身Linux 内核既不是普通进程、守护进程,也不是应用程序。它是一套常驻内存的高特权运行环境,…...
【必收藏】2026年大模型学习全指南|小白程序员入门捷径,抓住百万年薪红利
2026年的AI行业,机遇早已从风口走向实锤——应用层依旧是那片肉眼可见的黄金赛道!从大厂技术布局到招聘市场风向标,所有信号都在一致指向:大模型应用开发,已然成为程序员突破职业瓶颈、实现薪资跃升的核心赛道。 字节跳…...
【典型电路设计】直流400V转24V电源设计,超宽输入高压非隔离Buck降压芯片XD308H,包含芯片介绍以及参考电路详细解读
一款工业场景中非常实用的高压降压芯片——XD308H,这款芯片主打超宽输入、外围极简、低成本,特别适合400VDC母线、220VAC整流后等高压场景,实现小功率非隔离降压(如24V、12V),广泛应用于工业控制、BMS、智能…...
利用 JiuwenClaw AgentTeam 打造自动化研发团队
利用 JiuwenClaw AgentTeam 打造自动化研发团队 本文介绍如何通过 JiuwenClaw AgentTeam 构建自动化研发团队,实现字幕软件开发、AtomGit Issue/PR 智能处理与飞书文档同步。 目录 JiuwenClaw 平台概述 系统架构预置智能体类型 什么是 AgentTeams飞书群中添加机器人…...
短视频矩阵运营方法论——不同平台多账号协同的底层逻辑与避坑指南
短视频矩阵运营已成为品牌获取规模化流量的核心手段,但多账号协同背后的平台算法逻辑、账号关联风险、内容差异化策略等复杂问题,常常导致运营者踩入“雷区”。本文基于抖音、微信视频号、小红书三大主流平台官方规则与公开算法解读,系统梳理…...
基于LLM的智能体驱动文字冒险游戏引擎设计与实现
1. 项目概述:一个AI驱动的文字冒险游戏引擎最近在GitHub上闲逛,发现了一个挺有意思的项目,叫droxey/agentadventure。光看名字,大概能猜到它和“智能体”(Agent)以及“冒险”(Adventure…...
迭代式代码进化:基于进化算法与LLM的自动化代码优化系统
1. 项目概述:当代码学会自我进化最近在GitHub上看到一个挺有意思的项目,叫aaronjmars/iterative-code-evolution。光看名字,你可能会觉得这又是一个关于“代码生成”或者“AI编程”的常规项目。但当我深入进去,把玩了一番之后&…...
恶意 Hugging Face 仓库 18 小时登顶热门榜,引发公共 AI 仓库安全担忧
【事件概述】一个伪装成 OpenAI 发布内容的恶意 Hugging Face 仓库,向 Windows 系统投放信息窃取恶意软件。该仓库在 18 小时内登上 Hugging Face 热门排行榜首位,被移除前下载量达 24.4 万次,引发人们对企业从公共仓库获取和验证 AI 模型的新…...
SMD电阻脉冲负载能力解析与工程实践
1. SMD电阻脉冲负载能力解析:工程师必须掌握的核心知识在工业控制板卡维修现场,我曾遇到一个令人费解的案例:某型号PLC的输入保护电路在雷雨季节频繁损坏,但检查发现所有元件参数都符合设计要求。最终用热成像仪捕捉到瞬间现象——…...
