天天看点

如何跑通第一个 DataStream 作业

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

本文由阿里巴巴技术专家叶佳纯(自知)分享,主要介绍如何在实时计算 Flink 版中跑通 DataStream 作业。文章大纲如下:
  1. 准备工作
  2. 创建和启动作业
  3. Deployment 基本操作
  4. Deployment 配置
  5. Deployment 其他操作
  6. UI / Metrics 查看

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

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

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

Deployment的基本操作

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

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

如何跑通第一个 DataStream 作业

Deployment的配置

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

作业快照的使用

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

第一种点击Savepoint一次就会触发Savepoint而留下快照;

第二种是运行中的作业,默认每10秒Checkpoint会留下一个快照;

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

如何跑通第一个 DataStream 作业

Secret Values

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

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业

如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业
如何跑通第一个 DataStream 作业

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

如何跑通第一个 DataStream 作业
如何跑通第一个 DataStream 作业