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 官网下载,如下: 等待程序安装完成之…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...