如何迁移 Flink 任务到实时计算
简介: 本文由阿里巴巴技术专家景丽宁(砚田)分享,主要介绍如何迁移Flink任务到实时计算 Flink 中来。
通常用户在线下主要使用 Flink run,这会造成一些问题,比如:同一个配置因版本而变化;无法快速切换不同版本;无法从之前的作业恢复。
那么如何从线下迁移到线上呢?本文将通过下面四部分来向大家介绍。
一、如何迁移:从 Flink run 到流计算平台
如下图的线下命令如何迁移到线上。首先打开 VVP UI,添加基础配置,主要包括:作业名称、Jar URI、一些主要参数和并行度。还可以点击高级配置,配置更多信息。
比如高级配置里的行为配置,分为三部分:升级策略、初始状态和恢复策略。升级策略一般选择Stateless,初始状态选择Running,恢复策略选择Latest State。
升级策略选择Stateless,表示针对已经在运行的作业,编辑并保存配置后,会直接把原作业停掉,然后重新启动一个更新的作业;选择Stateble,针对正在运行的作业做配置编辑并保存的话,作业会先做一次Savepoint,然后加载新的配置并使用该 Savepoint启动新的作业。
恢复策略选择LatestSavepoint,是指作业在暂停情况下,如果再启动,将使用最新的Savepoint启动。
上面介绍的是 Flink 配置中比较重要的部分,下面图片显示的是另外一部分可以设置Checkpoint间隔等的配置,接下来是资源配置。日志配置部分可以选择日志保存位置,方便日后如果作业出现问题,可以方便的排查问题。
Flink 作业配置完成并启动运行后,如果出现异常,可以通过运行事件查看运行情况和问题。也可以打开 Flink UI的Job Manager,查看日志情况。
二、多Jar情况下,用户如何添加其他依赖的Jar
一些用户有自定义依赖且无法通过 fat jar 解决问题。举个例子,A用户有自己的main Jar和一些其他的Jar,这些Jar的应用场景不一样,那么首先需要在资源管理页面上传Jar包,上传完成之后就可以在页面使用该文件。
上传后再到高级配置中,找到“额外依赖的Jar”,下拉并选择刚刚上传的Jar 包就可以了。
三、用户如何通过配置文件定义作业
在资源管理里上传文件,然后在高级配置里选添加依赖,选择需要的依赖。如果启动函数里,main class是需要读取某个文件,先通过依赖添加文件,然后再根据提示的方式读取文件。
以上两个方式是放置用户Jar的方式,jar 和其他文件都可以在这里存放。
四、如何复用原来的state加速作业恢复
如果在运行作业时发现问题,一般情况下是停下来然后找到问题修复后再重启。用户需要在创建的时候指定 Checkpoint 需要的 OSS。 如果开启了Checkpoint,后续作业就可以直接从Checkpoint中恢复。
首先确认高级配置中恢复策略选择LatestState或LatestSavepoint。在这个前提下,可以暂停作业(千万不要停止作业),暂停会触发Savepoint,当再次点击启动时,会从这次Savepoint点恢复。
打开 Flink UI ,然后点击作业快照,在作业快照中可以查看 Flink Checkpoint指标,里面会显示Restore的次数和最后一次Restore的地址等信息,可确定作业是从最新的 State 恢复。
当作业正在运行,想对当前作业进项拷贝,如何操作呢?在作业控制页面点击Checkpoint,找到历史快照并点击其对应的最右侧的“从该快照复制作业”,那么就完成了把当前作业复制的操作,复制内容包括正在运行作业的Jar 包配置等。点击启动后,可以从作业快照中查看到新作业是从上个作业最近的一次Savepoint中复制启动的。
作者:景丽宁(砚田)
本文为阿里云原创内容,未经允许不得转载
如何迁移 Flink 任务到实时计算的更多相关文章
- 实时计算Flink on Kubernetes产品模式介绍
Flink产品介绍 目前实时计算的产品已经有两种模式,即共享模式和独享模式.这两种模式都是全托管方式,这种托管方式下用户不需要关心整个集群的运维.其次,共享模式和独享模式使用的都是Blink引擎.这两 ...
- Flink消费Kafka数据并把实时计算的结果导入到Redis
1. 完成的场景 在很多大数据场景下,要求数据形成数据流的形式进行计算和存储.上篇博客介绍了Flink消费Kafka数据实现Wordcount计算,这篇博客需要完成的是将实时计算的结果写到redis. ...
- Flink+kafka实现Wordcount实时计算
1. Flink Flink介绍: Flink 是一个针对流数据和批数据的分布式处理引擎.它主要是由 Java 代码实现.目前主要还是依靠开源社区的贡献而发展.对 Flink 而言,其所要处理的主要场 ...
- 可以穿梭时空的实时计算框架——Flink对时间的处理
Flink对于流处理架构的意义十分重要,Kafka让消息具有了持久化的能力,而处理数据,甚至穿越时间的能力都要靠Flink来完成. 在Streaming-大数据的未来一文中我们知道,对于流式处理最重要 ...
- 《大数据实时计算引擎 Flink 实战与性能优化》新专栏
基于 Flink 1.9 讲解的专栏,涉及入门.概念.原理.实战.性能调优.系统案例的讲解. 专栏介绍 扫码下面专栏二维码可以订阅该专栏 首发地址:http://www.54tianzhisheng. ...
- 一文让你彻底了解大数据实时计算引擎 Flink
前言 在上一篇文章 你公司到底需不需要引入实时计算引擎? 中我讲解了日常中常见的实时需求,然后分析了这些需求的实现方式,接着对比了实时计算和离线计算.随着这些年大数据的飞速发展,也出现了不少计算的框架 ...
- 基于Kafka的实时计算引擎如何选择?Flink or Spark?
1.前言 目前实时计算的业务场景越来越多,实时计算引擎技术及生态也越来越成熟.以Flink和Spark为首的实时计算引擎,成为实时计算场景的重点考虑对象.那么,今天就来聊一聊基于Kafka的实时计算引 ...
- Apache Flink 如何正确处理实时计算场景中的乱序数据
一.流式计算的未来 在谷歌发表了 GFS.BigTable.Google MapReduce 三篇论文后,大数据技术真正有了第一次飞跃,Hadoop 生态系统逐渐发展起来. Hadoop 在处理大批量 ...
- (二)基于商品属性的相似商品推荐算法——Flink SQL实时计算实现商品的隐式评分
系列随笔: (总览)基于商品属性的相似商品推荐算法 (一)基于商品属性的相似商品推荐算法--整体框架及处理流程 (二)基于商品属性的相似商品推荐算法--Flink SQL实时计算实现商品的隐式评分 ( ...
- 实时计算框架:Flink集群搭建与运行机制
一.Flink概述 1.基础简介 Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算.Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算.主要特性包 ...
随机推荐
- dbvisualizer之编辑区中文乱码问题
!在SQL Commander中,sql语句中如果有中文,显示是'口口口'. 解决办法如下: 在Tools->tool Properties->General->Appearance ...
- grails中使用render方法输出XML总结
GrailsXMLJava 1.首先看看简单的XML生成情况 Java代码 收藏代码 <images> <image title="one" /& ...
- CSS(语义化标签、多媒体标签、新表单元素、属性选择器、结构伪类选择器、伪元素选择器、盒子模型、滤镜、calc函数、过渡)
一.HTML5新特性 概述 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签.新的表单和新的表单属性等. 这些新特性都有兼容性问题,基本是 IE9+ 以上版本的浏览器才支持,如果不考虑 ...
- .Net依赖注入神器Scrutor(上)
前言 从.Net Core 开始,.Net 平台内置了一个轻量,易用的 IOC 的框架,供我们在应用程序中使用,社区内还有很多强大的第三方的依赖注入框架如: Autofac DryIOC Grace ...
- 记录--纯CSS实现骚气红丝带
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在本文中,我们将探讨如何使用 CSS 以最少的代码创造出精美的 CSS 丝带形状,并最终实现下面这个效果: 下面我们使用html和css来 ...
- Kafka之Producer网络传输
一.背景 在Kafka的组成部分(Broker.Consumer.Producer)中,设计理念迥异,每个部分都有自己独特的思考.而把这些部分有机地组织起来,使其成为一个整体的便是「网络传输」.区别于 ...
- [开源初探]screenshot-to-code:将截图转化为代码
介绍说明 将截图转化为 HTML 代码的工具.该项目可以将屏幕截图转化为 HTML/JS/Tailwind CSS 代码,它使用 GPT-4 Vision 生成代码.DALL-E 3 生成相似的图片. ...
- 论 C++ 中 double 类型的优化问题
是这样的,我在 OI 出题中,std 习惯使用 double,但是求解,在大数据的情况下用 long double,小数据用 double. 虽然这样也没什么问题,但是在 std 中我是不开启 -O2 ...
- mybatis学习笔记(可复用的相关配置信息)
结果集映射: resultMap解决数据库字段名和属性名不一致的问题 id name pwd id name password column 是数据库的字段名 property 是实体类的属性名 &l ...
- 利用 🤗 Optimum Intel 和 fastRAG 在 CPU 上优化文本嵌入
嵌入模型在很多场合都有广泛应用,如检索.重排.聚类以及分类.近年来,研究界在嵌入模型领域取得了很大的进展,这些进展大大提高了基于语义的应用的竞争力.BGE.GTE 以及 E5 等模型在 MTEB 基准 ...