通过 docker-compose 部署 Flink
概要
通过 docker-compose 以 Session Mode 部署 flink
前置依赖
- Docker、docker-compose
- flink 客户端
- docker-compose.yml
version: "2.2"
services:jobmanager:image: flink:1.17.2ports:- "8081:8081"command: jobmanagervolumes:- ${PWD}/checkpoint:/opt/flink/checkpoint- ${PWD}/savepoint:/opt/flink/savepointenvironment:- |FLINK_PROPERTIES=jobmanager.rpc.address: jobmanagertaskmanager:image: flink:1.17.2depends_on:- jobmanagercommand: taskmanagerscale: 1volumes:- ${PWD}/checkpoint:/opt/flink/checkpoint- ${PWD}/savepoint:/opt/flink/savepointenvironment:- |FLINK_PROPERTIES=jobmanager.rpc.address: jobmanagertaskmanager.numberOfTaskSlots: 3
部署
# 下载 docker、docker-compose# docker-compose 部署
# 复制上述 docker-compose.yml 内容
$ vim docker-compose.yml# 创建 savepoint、checkpoint 目录用于保存状态数据
$ mkdir savepoint checkpoint$ docker-compose up -d
提交任务
# 下载 flink 客户端
$ wget https://archive.apache.org/dist/flink/flink-1.17.0/flink-1.17.0-bin-scala_2.12.tgz
$ tar xvf flink-1.17.0-bin-scala_2.12.tgz
$ cd flink-1.17.0-bin-scala_2.12# 提交任务
$ bin/flink run -d -m 192.168.56.103:8081 -c com.xchenhao.Demo flink-cdc-1.0-SNAPSHOT-jar-with-dependencies.jar# 查看任务列表
$ bin/flink list -m 192.168.56.103:8081
Waiting for response...
------------------ Running/Restarting Jobs -------------------
02.02.2024 16:45:01 : 9f70a7c1430d609eaa3434c4f30d1e93 : Flink-CDC (RUNNING)
--------------------------------------------------------------
No scheduled jobs
Web UI 查看
浏览器访问目标端口 192.168.56.103:8081

其它常用命令
- 从指定 checkpoint 恢复任务
bin/flink run -d -m 192.168.56.103:8081 -s file:///opt/flink/checkpoint/47bea16a8ffcb51beff21ed1c7297dc1/chk-129773 -c com.xchenhao.Demo flink-cdc-1.0-SNAPSHOT-jar-with-dependencies.jar
- 从指定 savepoint 恢复任务
bin/flink run -d -m 192.168.56.103:8081 -s file:///opt/flink/savepoint/savepoint-63712d-d7cbfee1ede9 -c com.xchenhao.Demo flink-cdc-1.0-SNAPSHOT-jar-with-dependencies.jar
- 保存 savepoint
bin/flink savepoint 9f70a7c1430d609eaa3434c4f30d1e93 file:///opt/flink/savepoint -m 192.168.56.103:8081
- 取消任务
bin/flink cancel 9f70a7c1430d609eaa3434c4f30d1e93 -m 192.168.56.103:8081
- 停止任务并保存 savepoint
bin/flink stop 9f70a7c1430d609eaa3434c4f30d1e93 -p file:///opt/flink/savepoint -m 192.168.56.103:8081
参考
- https://blog.csdn.net/qq_41538097/article/details/129113866
docker 搭建 flink 并上传任务 - https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/standalone/docker/#flink-with-docker-compose
Flink with Docker Compose - https://flink.apache.org/downloads/
Apache Flink® Downloads - https://blog.csdn.net/qq_26838315/article/details/125246223
Flink部署模式介绍(session,per-job,application) - https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/standalone/docker/#session-mode-1
Session Mode
相关文章:
通过 docker-compose 部署 Flink
概要 通过 docker-compose 以 Session Mode 部署 flink 前置依赖 Docker、docker-composeflink 客户端docker-compose.yml version: "2.2" services:jobmanager:image: flink:1.17.2ports:- "8081:8081"command: jobmanagervolumes:- ${PWD}/checkpoin…...
HarmonyOS ArkTS修改App的默认加载的界面(二十)
前言:在Android开发中想要修改默认启动页,只需要在AndroidManifest.xml中设置即可 只需要在启动的activity种添加如下属性即可 <intent-filter><action android:name"android.intent.action.MAIN" /><category android:name&qu…...
【前端高频面试题--Vue基础篇】
🚀 作者 :“码上有前” 🚀 文章简介 :前端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬前端高频面试题--Vue基础篇 Vue基本原理双向绑定与MVVM模型Vue的优点计算属性与监听属性计算属性监…...
Spring Boot 实现热插拔 AOP
现在有这么一个需求:就是我们日志的开与关是交给使用人员来控制的,而不是由我们开发人员固定写死的。大家都知道可以用aop来实现日志管理,但是如何动态的来实现日志管理呢?aop源码中的实现逻辑中有这么一个步骤,就是会依次扫描Advice的实现类,然后执行。我们要做的就是自…...
2月05日,每日信息差
第一、全球首套5G及6G天地一体网络低轨试验卫星发射入轨、。据了解,“中国移动01星”是全球首颗可验证5G天地一体演进技术的试验卫星,它搭载的基站可以利用卫星的广覆盖优势把5G信号传送到地面网络无法覆盖到的地方;另外一颗“‘星核’验证星…...
使用Python进行数据的描述性分析,用少量的描述性指标来概括大量的原始数据
在进行数据分析时,当研究者得到的数据量很小时,可以通过直接观察原始数据来获得所有的信息。但是,当得到的数据量很大时,就必须借助各种描述性指标来完成对数据的描述工作。用少量的描述性指标来概括大量的原始数据,对…...
【JS逆向三】逆向某某网站的sign参数,并模拟生成仅供学习
逆向日期:2024.02.06 使用工具:Node.js 类型:webpack 文章全程已做去敏处理!!! 【需要做的可联系我】 可使用AES进行解密处理(直接解密即可):AES加解密工具 1、打开某某…...
移动光猫gs3101超级密码及改桥接模式教程
文章目录 超级管理员账号改桥接模式路由器连接光猫,PPPOE拨号即可!附录:如果需要改桥接的话不知道拨号密码咋办打开光猫Telnet功能Telnet 登录 参考文章 移动光猫吉比特GS3101超级账号获取更改桥接 移动光猫gs3101超级密码及改桥接模式教程 …...
leetcode 153
153 寻找旋转排序数组中的最小值 这道题,如果我们熟悉数组 api,可以直接用 Arrays.sort()秒杀,这个方法使用了双轴快速排序算法。 解法1如下: class Solution {public int findMin(int[] nums) {Arrays.sort(nums);return nums…...
【MySQL】数据库的基础——数据库的介绍、MySQL的介绍和架构、SQL分类、MySQL的基本使用、MySQL的存储引擎
文章目录 MySQL1. 数据库的介绍1.2 主流数据库 2. MySQL的介绍2.1 MySQL架构2.2 SQL分类2.3 MySQL的基本使用2.4 MySQL存储引擎 MySQL 1. 数据库的介绍 数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。它是长期存储在计…...
后端的技术设计文档
一、 背景 1.简介 2.业务规划(非必需) 3.工作项拆解 拆解成多个工作项,每个工作项,需要多少人力。 4.资源评估(非必需) 有没有新的服务 二、架构设计 1.架构图(非必需,新服务比较需要) 2.技术选型 SpringCloud、Redis、Mysql、Myba…...
Windows10安装PCL1.14.0及点云配准
一、下载visual studio2022 下载网址:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com) 安装的时候选择"使用C的桌面开发“,同时可以修改文件路径,可以放在D盘。修改文件路径的时候,共享组件、…...
C语言第二十二弹---指针(六)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 指针 1. 回调函数是什么? 2、qsort使用举例 2.1、使用qsort函数排序整型数据 2.2 使用qsort排序结构体数据 3、qsort函数的模拟实现 总结 1. 回…...
Qt Windows和Android使用MuPDF预览PDF文件
文章目录 1. Windows MuPDF编译2. Android MuPDF编译3. 引用 MuPDF 库4. 解析本地PDF文件 1. Windows MuPDF编译 使用如下命令将MuPDF的源码克隆到本地 git clone --recursive git://git.ghostscript.com/mupdf.git直接用VS,打开 mupdf/platform/win32/mupdf.sln …...
MongoDB聚合:$replaceWith
r e p l a c e W i t h ‘ 可以将输入文档替换为指定的文档。该操作可以替换输入文档的所有字段,包括 ‘ i d ‘ 字段。使用 ‘ replaceWith可以将输入文档替换为指定的文档。该操作可以替换输入文档的所有字段,包括_id字段。使用 replaceWith‘可以将输…...
Vue 进阶系列丨实现简易VueRouter
Vue 进阶系列教程将在本号持续发布,一起查漏补缺学个痛快!若您有遇到其它相关问题,非常欢迎在评论中留言讨论,达到帮助更多人的目的。若感本文对您有所帮助请点个赞吧! 2013年7月28日,尤雨溪第一次在 G…...
unity editor 编辑器 GUID localID LocalFileId 查找问题
//传入对象实例化ID 可以获取到 guid localid guid预设的ID localid 预设内的ID //这个方法有个问题如果在预设编辑器状态下 可能出现查不到 guid localid 原因可能 传入对象是是编辑状态下instanceid 并不是保存状态下的 UnityEditor.AssetDatabase.TryGetGUIDAndLocalF…...
【Mybatis】从0学习Mybatis(2)
前言 本篇文章是从0学习Mybatis的第一篇文章,由于篇幅太长CSDN会限流,因此我打算分开两期来写,这是第二期!第一期在这儿:【Mybatis】从0学习Mybatis(1)-CSDN博客 1.什么是ResultMap结果映射&am…...
ChatGPT高效提问—prompt常见用法(续篇九)
ChatGPT高效提问—prompt常见用法(续篇九) 如何准确地向大型语言模型提出问题,使其更好地理解我们的意图,从而得到期望的答案呢?编写有效的prompt的技巧,精心设计的prompt,获得期望的的答案。 1.1 增加条件 在各种prompt技巧中,增加条件是最常用的。在prompt中…...
echarts的title标题属性
echarts的title标题属性 title 标题组件,包含主标题和副标题。 位于 option对象第一层. title.text 设置主标题内容title.subtext 设置副标题内容 在 ECharts 2.x 中单个 ECharts 实例最多只能拥有一个标题组件。但是在 ECharts 3 中可以存在任意多个标题组件&am…...
新手必看:5分钟学会用Visio绘制PAD图和N-S图(附实例解析)
零基础掌握Visio绘制PAD图与N-S图的实战指南 在软件设计领域,可视化工具的重要性不言而喻。对于刚入门的开发者来说,掌握如何将抽象的逻辑思维转化为直观的图表是一项必备技能。Visio作为微软旗下的专业绘图工具,以其友好的界面和强大的功能&…...
音频编辑新革命:Audacity 4 终极免费解决方案,让专业音频处理触手可及
音频编辑新革命:Audacity 4 终极免费解决方案,让专业音频处理触手可及 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为昂贵的音频编辑软件发愁吗?或者对复杂的音频处理工…...
Xcode实战:用SwiftUI快速构建一个可交互的卡片视图(含SF Symbols使用技巧)
Xcode实战:用SwiftUI快速构建一个可交互的卡片视图(含SF Symbols使用技巧) 当你第一次看到那些精美的卡片式UI时,是否好奇它们是如何被构建出来的?在移动应用设计中,卡片视图因其清晰的视觉层次和自然的交互…...
利用快马平台快速构建openclaw网页抓取原型,十分钟验证技术方案
最近在做一个数据采集相关的项目,需要快速验证网页抓取方案的可行性。经过调研发现openclaw这个Python库很适合做轻量级的网页抓取,但搭建完整的开发环境太费时间。后来在InsCode(快马)平台上尝试了一下,没想到十分钟就搞定了原型验证。这里分…...
Lychee Rerank MM零基础上手:图文混合Query构建与Document批量上传实操
Lychee Rerank MM零基础上手:图文混合Query构建与Document批量上传实操 1. 什么是Lychee Rerank MM?——多模态重排序的“精准标尺” 你有没有遇到过这样的问题:在图片库中搜索“穿红裙子站在樱花树下的女孩”,返回结果里却混着…...
GLM-OCR计算机视觉基石:理解其背后的计算机网络通信
GLM-OCR计算机视觉基石:理解其背后的计算机网络通信 你是不是也遇到过这种情况:本地跑GLM-OCR模型好好的,一部署到服务器上,调用就变得时快时慢,偶尔还来个超时错误?看着日志里那些“连接失败”、“请求超…...
Lucky Lillia Bot技术架构深度解析:OneBot 11协议在NTQQ平台的实现方案
Lucky Lillia Bot技术架构深度解析:OneBot 11协议在NTQQ平台的实现方案 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 在即时通讯机器人开发领域,协议标准化与平台适配一直…...
FPGA实战:用Verilog手搓8点FFT核心(附完整代码与仿真对比)
FPGA实战:从零构建8点FFT核心的完整指南 在数字信号处理领域,快速傅里叶变换(FFT)算法是当之无愧的"瑞士军刀"。作为一名FPGA工程师,我曾在多个项目中需要将FFT算法部署到硬件平台,期间积累了不少…...
VMware虚拟机磁盘链乱了怎么办?手把手教你用vmware-vdiskmanager和自制工具修复VMDK快照关系
VMware虚拟机VMDK快照链修复实战指南 当你面对一个因误操作或系统故障导致快照链断裂的VMware虚拟机时,那种无力感就像看着一台无法启动的服务器——所有数据都在那里,却无法访问。本文将带你深入VMDK文件结构,通过命令行工具逐步修复损坏的…...
5分钟精通网页内容转化:AnythingLLM浏览器扩展全攻略
5分钟精通网页内容转化:AnythingLLM浏览器扩展全攻略 【免费下载链接】anything-llm 这是一个全栈应用程序,可以将任何文档、资源(如网址链接、音频、视频)或内容片段转换为上下文,以便任何大语言模型(LLM&…...
