简介: 本文由阿里巴巴技术专家景丽宁(砚田)分享,主要介绍如何迁移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 任务到实时计算的更多相关文章

  1. 实时计算Flink on Kubernetes产品模式介绍

    Flink产品介绍 目前实时计算的产品已经有两种模式,即共享模式和独享模式.这两种模式都是全托管方式,这种托管方式下用户不需要关心整个集群的运维.其次,共享模式和独享模式使用的都是Blink引擎.这两 ...

  2. Flink消费Kafka数据并把实时计算的结果导入到Redis

    1. 完成的场景 在很多大数据场景下,要求数据形成数据流的形式进行计算和存储.上篇博客介绍了Flink消费Kafka数据实现Wordcount计算,这篇博客需要完成的是将实时计算的结果写到redis. ...

  3. Flink+kafka实现Wordcount实时计算

    1. Flink Flink介绍: Flink 是一个针对流数据和批数据的分布式处理引擎.它主要是由 Java 代码实现.目前主要还是依靠开源社区的贡献而发展.对 Flink 而言,其所要处理的主要场 ...

  4. 可以穿梭时空的实时计算框架——Flink对时间的处理

    Flink对于流处理架构的意义十分重要,Kafka让消息具有了持久化的能力,而处理数据,甚至穿越时间的能力都要靠Flink来完成. 在Streaming-大数据的未来一文中我们知道,对于流式处理最重要 ...

  5. 《大数据实时计算引擎 Flink 实战与性能优化》新专栏

    基于 Flink 1.9 讲解的专栏,涉及入门.概念.原理.实战.性能调优.系统案例的讲解. 专栏介绍 扫码下面专栏二维码可以订阅该专栏 首发地址:http://www.54tianzhisheng. ...

  6. 一文让你彻底了解大数据实时计算引擎 Flink

    前言 在上一篇文章 你公司到底需不需要引入实时计算引擎? 中我讲解了日常中常见的实时需求,然后分析了这些需求的实现方式,接着对比了实时计算和离线计算.随着这些年大数据的飞速发展,也出现了不少计算的框架 ...

  7. 基于Kafka的实时计算引擎如何选择?Flink or Spark?

    1.前言 目前实时计算的业务场景越来越多,实时计算引擎技术及生态也越来越成熟.以Flink和Spark为首的实时计算引擎,成为实时计算场景的重点考虑对象.那么,今天就来聊一聊基于Kafka的实时计算引 ...

  8. Apache Flink 如何正确处理实时计算场景中的乱序数据

    一.流式计算的未来 在谷歌发表了 GFS.BigTable.Google MapReduce 三篇论文后,大数据技术真正有了第一次飞跃,Hadoop 生态系统逐渐发展起来. Hadoop 在处理大批量 ...

  9. (二)基于商品属性的相似商品推荐算法——Flink SQL实时计算实现商品的隐式评分

    系列随笔: (总览)基于商品属性的相似商品推荐算法 (一)基于商品属性的相似商品推荐算法--整体框架及处理流程 (二)基于商品属性的相似商品推荐算法--Flink SQL实时计算实现商品的隐式评分 ( ...

  10. 实时计算框架:Flink集群搭建与运行机制

    一.Flink概述 1.基础简介 Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算.Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算.主要特性包 ...

随机推荐

  1. C++ Qt开发:QUdpSocket实现组播通信

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QUd ...

  2. JavaScript知识总结 异步编程篇

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 异步编程的实现方式? JavaScript中的异步机制可以分为以下几种: 回调函数 的方式,使用回调函数的方式有一个缺点是,多个回调 ...

  3. .Net 8.0 下的新RPC,IceRPC之接口定义语言 [Slice] VS [Protobuf]

    作者引言 很高兴啊,我们来到了接口定义语言(IDL)篇,RPC之基石,有了它,可以在各种各种语言中实现RPC通讯. Slice 和 Protobuf 是什么? IceRPC的核心是一个面向字节byte ...

  4. JSON格式化 动态生成表格 表格转置 行列转换 Excel导出

    先看效果 初始化: JSON格式化 : 生成表格-方式1 : 生成表格-方式2 : Excel导出 需要行求和.列求和功能的查看 JSON格式化 动态生成表格 表格转置 行列转换 Excel导出 行求 ...

  5. KingbaseES 表中隐藏字段说明

    在KingbaseES中,当我们创建一个数据表时,数据库会隐式增加几个系统字段.这些字段由系统进行维护,用户一般不会感知它们的存在. 例如,以下语句创建了一个简单的表: create table te ...

  6. 可能是迄今为止最好用的WPF加载动画功能(没有之一)

    前言 当我们在开发应用程序时,用户体验往往是至关重要的一环.在应用程序加载大量数据或执行复杂操作时,为用户提供一个良好的加载体验变得至关重要.加载动画是其中一个有效的方式,它不仅能够告知用户应用程序正 ...

  7. FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr

    ​FFmpeg内置了aac音频格式,在<FFmpeg开发实战:从零基础到短视频上线>一书的"5.2.2  Linux环境集成mp3lame"又介绍了如何给FFmpeg集 ...

  8. AtCoder Beginner Contest 240

    前言 考场把前六题切了,但是 E 题和 F 题罚时了,所以也写一写. ABC240 E - Ranges on Tree 题目传送门 分析 \(r\) 的最大值就是叶子的个数,如果将叶子按顺序编号, ...

  9. #AC自动机,树状数组#洛谷 2414 [NOI2011] 阿狸的打字机

    题目 分析 首先考虑按照题意建出一个AC自动机, 然后\(s[x]\)在\(s[y]\)出现的次数也就是 在fail树上,根节点到\(y\)中一共出现了多少个\(x\), 在\(x\)的终止节点处统计 ...

  10. kube-apiserver限流机制原理

    本文分享自华为云社区<kube-apiserver限流机制原理>,作者:可以交个朋友. 背景 apiserver是kubernetes中最重要的组件,一旦遇到恶意刷接口或请求量超过承载范围 ...