简介:本文由阿里巴巴技术专家叶佳纯(自知)分享,主要介绍如何在实时计算 Flink 版中跑通 DataStream 作业。

作者 | 叶佳纯(自知),阿里巴巴技术专家

本文由阿里巴巴技术专家叶佳纯(自知)分享,主要介绍如何在实时计算 Flink 版中跑通 DataStream 作业。文章大纲如下:

  1. 准备工作
  2. 创建和启动作业
  3. Deployment 基本操作
  4. Deployment 配置
  5. Deployment 其他操作
  6. UI / Metrics 查看

前面三篇内容已经介绍了实时计算 Flink 在阿里云的整体情况和典型场景,从本篇开始将介绍实时计算 Flink 的系列操作,首先介绍如何跑通第一个DataStream。

在开始之前,首先为大家介绍在VVP上最基本最核心的资源—Deployment,Deployment包括应用的状态和相关配置,VVP会跟踪和汇报每一个Deployment的状态,产生相关的资源和信息。

准备工作

Jar打包上传,这里用社区的一个example,实际操作的时候可以用自己的开发应用。

在VVP页面左侧,点击“资源上传”,然后点击右上角“上传资源”,将打包好的Jar上传。

创建和启动作业

创建作业有两种方式,第一种是直接通过上传的Jar点击创建作业,就会直接跳到创建页面;

第二种是直接在VVP左侧菜单点击创建作业,然后在Jar Uri选择需要执行的jar文件。

补充好作业名称等信息,作业就创建完成了。

创建作业后,在作业详情页可以看到一些基本操作和展示的基础信息。刚创建完的作业状态是Cancelled,可以点击状态栏右侧的“启动”来启动作业。

启动中,页面会显示当前实例,每一个实例都有唯一的ID。

在“运行事件”里,可以看到一些更详细的阶段性的 Event,Event也是一种资源类型。如下图光标所选位置,是Event告警的错误信息,如果点击左侧“+”号,可以看到日志详情。

当“运行事件”中Deployment的状态变成Running,说明作业启动成功。注意:同一时间只能运行一个Deployment实例,也就是说如果想要重新配置作业,那么需要先停掉运行中的作业,重新配置之后再重新启动新作业。

Deployment的基本操作

启动、暂停、停止是针对此作业的基本操作,不多做赘述。提醒删除功能只能针对处于Cancelled的作业操作,处于Running和Failed的作业是不能删除的。删除之后无法恢复,需要谨慎。

克隆是指,如果在不修改现有Deloyment的前提下,想做一些尝试性的配置或对比,那么可以先把作业克隆出来。

Deployment的配置

Deployment的配置可以在新建作业时修改,也可以在运行中进行修改。

上图中的“升级策略”是指在修改Deployment时,是否需要重启,如果需要重启,是带状态重启还是不带状态重启。如下图如果选择None,那么在修改作业配置时不会影响当前正在运行的作业。

如果需要重启作业,有两种选择,Stateless是不带状态,即停止当前作业,并在调整配置重新启动一个新作业;Stateful是带状态,即在停作业前,对作业做一个Savepoint,然后用最新配置启动一个新作业并从这个Savepoint恢复。

恢复策略”有三个选项,None表示不带状态恢复作业;Latest Savepoint是指用最新的Savepoint恢复作业;Latest State是指用Checkpoint或Savepoint中最新的那个来恢复作业。当我们需要针对已经停止的作业重新启动时,会用到恢复策略。

下图左侧“创建Savepoint的最大重试次数”,因为Savepoint是写在OSS里的,如果遇到问题创建Savepoint失败了,重试次数是需要符合这里的配置的,超过最大配置次数Savepoint的操作就会失败。

下图右侧“创建实例的最大重试次数”,是指启动Deployment的最大重试次数,当遇到问题Deployment的重试超出了配置的次数,启动Deployment的状态就会变成红色的Failed。

Stop with Drain是指 stop接口是不是带Drain参数;标签是指可以给Deployment打多个标签,作用是可以在作业列表更快捷的搜索到所需要的Deployment。

附加依赖Jar”, 在这里不仅可以放额外的Jar,也可以放一些额外的资源文件。

Flink 版本”,现在只有1.10和1.11,两个版本可供选择。下图是 Flink 的常见配置,不再赘述。

Deployment 其他操作

作业快照的使用

作业快照的使用有几种方法:

第一种点击Savepoint一次就会触发Savepoint而留下快照;
第二种是运行中的作业,默认每10秒Checkpoint会留下一个快照;

作业快照还可以通过选择某个早期的快照而不是最近的去恢复作业。点击“从该快照复制作业”,就会folk一个Deployment,与克隆很像,但是这是指定了某个Savepoint的。复制后启动此作业的话,就会从指定的Savepoint恢复作业。

Secret Values

Secret Value只能使用在Jar URI和 Flink Configuration两个地方。

通常用在一些比较敏感的场景,比如Jar URI中的host部分不想暴露,那怎么做呢?点击VVP页面左侧“变量配置”,点击新增变量,在弹窗完善变量名称和变量值。

新建完成,可以看到仅仅显示新增变量名称,变量值是隐藏不显示的。然后去作业应用这个变量。

打开作业列表,选择应用作业,在Jar URI中设置变量。

UI / Metrics 查看

如下图在页面中右侧有 “指标”,点击指标,跳转页面,即可查看作业的指标信息。

点击“ Flink UI”的页面。Flink UI有个使用技巧,当启动作业后,如果有问题导致VVP上一直显示启动中但实际作业已经起来了,那么在 Flink页面里能看到第一手的信息,可以通过 Flink UI点击查看。

原文链接:https://developer.aliyun.com/article/781164?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

如何跑通第一个 DataStream 作业?相关推荐

  1. 如何跑通第一个 SQL 作业

    简介:本文由阿里巴巴技术专家周凯波(宝牛)分享,主要介绍如何跑通第一个SQL.内容将从以下3个部分介绍:1.SQL的基本概念:2.SQL的语法说明:3.SQL 实战: 作者 | 周凯波(宝牛),阿里巴 ...

  2. Verilog0.2:跑通第一个Vivado工程

    Verilog0.2:跑通第一个Vivado工程 在本文中,你将能学会: 学会基本使用Vivado 学会一些FPGA开发中的基本概念 用VScode代替Vivado写代码 接触到管脚约束及其细节 文章 ...

  3. 在Rockchip RK3399 Pro开发板上跑通第一个Qt程序

    在Rockchip RK3399 Pro开发板上跑通第一个Qt程序 准备工作:将Qt从Windows移植到Linux 一.交叉编译器的准备 下载交叉编译工具 安装交叉编译工具 二.交叉编译Qt库 三. ...

  4. 2019,我是如何转向战略成功,并成功跑通一个现金流项目的

    2019年来得快,去的也快. 2019年年初,我儿子蹦出来了,现在才知道,他当时有多乖. 2019年年初,我辞去稳定的外企工作,放弃了还不错的薪水,离开了舒服的工作环境和团队,开始了第一次创业. 20 ...

  5. 复现经典目标跟踪算法ByteTrack之路:调通第一个demo

    复现经典目标跟踪算法ByteTrack之路:调通第一个demo ByteTrack源论文地址:https://arxiv.org/pdf/2110.06864.pdf ByteTrack开源代码地址: ...

  6. 顶级测试框架Jest指南:跑通一个完美的程序,就是教出一群像样的学生

    facebook三大项目:yarn jest metro,有横扫宇宙之势. 而jest项目的宗旨为:减少测试一个项目所花费的时间成本和认知成本. --其实,它在让你当一个好老师. jest文档非常简略 ...

  7. 【全网唯一】全网唯一能够跑通的,跑不通你来找我~用node.js完成微信支付下单功能,且只需要一个文件wxpay.js就解决业务流程的node.js程序

    先吐为敬! 最近心血来潮研究nodejs如何完成微信支付功能,结果网上一搜索,一大堆"代码拷贝党"."留一手"."缺斤少两"."不 ...

  8. 【历史上的今天】8 月 17 日:Oracle 创始人出生;第一个 COBOL 程序成功跑通!...

    透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 8 月 17 日,在科技历史上,都有哪些关键事件发生呢? 1944 年 8 月 17 日:Oracle(甲骨文)创始人 ...

  9. aistarter助手程序未运行_师傅领进门之6步教你跑通一个AI程序!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 源码下载地址请点击原文查看. 初学机器学习,写篇文章mark一下,希望能为将入坑者解点惑.本文介绍一些机器学习的入门知识,从安装环境到跑通机 ...

最新文章

  1. Linux 高性能服务器编程——socket选项
  2. all resources based on handshake
  3. android刷新时的圆形动画_Android自定义加载圈动画效果
  4. oracle正则匹配全部,sql – 返回Oracle中正则表达式的所有匹配项
  5. oracle 存储过程获取当前日期
  6. linux chromium安装falsh插件
  7. 软件测试人员的三重境界
  8. 1.根据MAC地址抓包
  9. 员工的12个需求及实现
  10. java导入hbase_如何用java导入hbase.dat文件
  11. hasLayout与Block Formatting Context(块格式化上下文)
  12. 逻辑结构的四种基本关系
  13. 机器视觉最常见的五大典型应用
  14. PID调节三个参数的作用
  15. html语言乘法口诀表,0044 使用JavaScript在网页上生成九九乘法口诀表
  16. 织梦DedeCms技术资料
  17. TIC TAC TOE 井字游戏
  18. IT业界中的著名女性高管
  19. android studio如何连接到MUMU模拟器
  20. Gstore官网学习四:常用API

热门文章

  1. 从零开始学习docker(一)
  2. Spring Cloud Zuul The 'Access-Control-Allow-Origin' header contains multiple values
  3. 深入理解javascript原型和闭包(3)——prototype原型
  4. 实战|Python轻松实现动态网页爬虫(附详细源码)
  5. 在对比了 GitHub 5000 个 Python 项目之后,我们精选出了这 36 个!
  6. 讲真,做Python一定不要只会一个方向!
  7. w10计算机运行特别卡,电脑卡是什么问题?导致Win10正式版卡顿的原因及解决方法...
  8. ajax接口一直在重复调用请求是什么原因_为什么RPC超时设置非常重要
  9. 2018年计算机专业考研,2018年计算机专业考研大纲解析
  10. linux用yum安装svn,linux下 yum安装svn