作者:赵开兴(纯庚)
摘要:
本文由阿里巴巴产品专家赵开兴分享,主要介绍实时计算 Flink的开通、功能及使用,并通过多个演示示例进行详细demo演示。内容主要分享以下几部分:
1、Blink独享集群使用介绍
2、Flink 全托管集群的使用
通过前两篇对实时计算 Flink的发展、技术原理、应用及行业案例等的介绍后,本篇将介绍如何开通和使用实时计算 Flink。
在介绍之前,首先介绍公有云上的产品形态。从下图可见云上的产品形态分为全托管和半托管,那么如果从使用习惯上划分,可分为两类,分别是Blink独享集群和Flink VVP。
基于这两个分类,分别介绍如何开通和使用。
在Blink的独享集群上,将会介绍进行集群的开通,以及SQL作业的开发、调试、提交和运行的实操流程。在 Flink 全托管上,将会介绍集群的开通和Datastream作业的创建、提交和运行。
一、Blink独享集群使用介绍
1、Blink独享集群的开通
Blink独享集群的开通需要一些准备工作。
● 第一步,登录阿里云的账号,因为需要使用阿里云的资源;
● 第二步,创建OSS,OSS用来存储用户的一些Jar包资源;
● 第三步,创建VPC和Vswitch。因为Blink独享集群最终是部署在用户的VPC下。
● 第四步,创建角色AliyunStreamDefaultRole,即自动化角色授权。
准备工作做完,就进入到了开通流程。主要分三步:
第一步,购买订单;
在选择地域的时候,要与创建的OSS选择同一区域。值得注意的是,Slave型号选择决定了创建集群的可用资源。
第二步,创建集群;
购买支付完成后,点击进入管理控制台,如下图。在控制台的下方显示有一个 Blink 独享集群,他有对应的一个订单,点击订单右侧的“创建集群”。
创建过程中,会弹出提醒授权的窗口,点击“前往授权”,跳转页面后点击“同意授权”。
授权成功后的页面左侧点击“集群列表”,然后点击右上方的“新建集群”。
然后选择对应的已购订单,并填写基本信息。提醒注意,创建完成后,集群的名称和备注是无法修改的。
点击下一步后,需要选择集群配置。选择OSS-Bucket,然后在选择VPC,完成创建。
当集群的状态由“启动中”变更到“运行中”,就说明集群已经创建成功。
第三步,创建项目。
在集群列表中,点击创建项目。
然后完善弹窗需要填写的信息,完成创建。选择CU数量的时候,需要根据购买订单配置的CU数量内选择,如果不需要再创建其他项目,可以选择全部用满。
创建成功后,点击查看集群项目可以看到项目的名称、备注信息和对应资源。
点击项目名称就可以进入到项目的开发界面。
到此,Blink 独享集群的开通就完成了。
2、Blink独享集群的开发
开发介绍分为几个部分,分别是:
● 创建作业;
● 开发代码;
● 本地调试;
● 提交作业;
● 运行作业;
● 运维作业。
上图的右侧是实时作业的代码,主要有三部分的要素:第一个部分是Random的源表,Random的作用是实时生成数据;然后第二部分是Print结果表,Print作用是把数据输出到taskmanager.out日志里;第三部分是计算逻辑,非常简单,目的是取随机生成的字符的首字母,然后将判断大写的首字母过滤出来。
实操演示
首先新建作业。进入开发界面点击新建作业,然后补充名称信息。作业类型选择SQL,Blink独享集群也支持创建Datatstream作业类型。然后选择对应目录,确定完成。
创建完成后,左侧会出现 Flinkjob,点击并把上图展示的代码拷贝进来。拷贝完成可以通过语法检查工具检查代码语法是否无误。
第二步本地的调试。点击“调试”,并上传需要作业的数据。
上传成功后可以在数据预览看到上传的数据,然后点击确定。这样就开始本地作业的运行了。
运行过程中,可以从 out.table中看到,输入了三条数据,但是只输出了一条数据,这条输出的数据就是通过运行作业,检索出来的首字母为大写的数据。这样本地调试完成,证明代码逻辑是正确的。
第二步提交作业。调试完成后,把作业提交到线上。点击右上角的上线在上线的过程中,给作业进行资源配置。如下图所示,资源配置一共有三种,第一种上次自动调优,即配置成与之前运行一样的资源;第二种系统分配;第三种是手动配置,可以在资源配置界面完成配置。
点击系统分配资源后,点击下一步,弹窗会显示进行数据检查,滚动条走完点击上线即完成。
跳转到运维页面,启动作业。
启动作业时需要选择读取数据的时间信息,此次演示使用的是Random,选择当前时间即可,点击确认作业就提交到集群了。
第四步作业运维。在运行信息上可以看到作业的运行信息,比如消耗的CU数、输入输出指标等等,在“数据曲线”里也可以查看运行的曲线信息。
如果作业出现异常,在 Failover里,可以看到作业自动恢复的日志信息。Jobmanager里也有日志信息。
点击TaskManager,通过TaskManger.out日志,可以看到每一条输出的数据。可以发现每一个输出的数据首字母都是大写的,那么证明没问题。
二、Flink 全托管集群的使用
1、Flink全托管集群的开通
准备工作。
● 第一步,登录阿里云账号;
● 第二步,创建OSS;
● 第三步,创建VPC和Vswitch
● 第四步,准备AccessKey ID/AccessKey Secret(这个部分正在做优化,未来可能就不需要准备AccesKey信息了)
● 第五步,创建角色AliyunStreamAsiDefaultRole,即自动化角色授权。
准备工作完成后,进行开通工作。很简单,只有两步:
第一步,购买订单;因为 Flink 全托管集群现在已经商业化了,所以在购买的过程中会需要进行公测的申请。
如下图所示,如果公测申请完成,按钮会变成“购买产品”。
点击购买后,点击角色授权并同意即可。然后点击实名认证。
然后选择付费模式和地域,此操作同Blink独享集权一样。
然后创建虚拟机,选择网端,并确定完成。
完成后,回到购买页面,然后刷新,可以看到已经购买的交换机。补充工作名称,提交AccessKey等信息后,确认订单并支付。
支付完成后回到管理控制台,可以看到 Flink 全托管集群,当状态变成“运行中”表明 Flink全托管集群开通完成。
第二步,自动创建工作空间。
完成开通后,在控制台页面点击右侧的“开发控制台”,就可以进入到VVP的一个开发界面。
2、Flink全托管DataStream作业
开发介绍分为几个部分,分别是:
● 上传jar (Artifacts)
● 创建Deployment
● 启动Deployment
实操演示
这次演示不涉及DataStream作业的开发,演示使用的是 Apache Flink 官网上1.11版本上对应的一个example。
第一步上传文件。打开开发界面,点击“选择文件”,上传example到OSS里。
第二步创建作业。创建作业的过程中有可供选择的配置,包括标准配置和高级配置。选择标准配置后,补充作业名称等信息。
创建作业的高级页面上,除了有已经填写的基本信息,还可以选择升级策略、初始化状态以及恢复策略等。 也可以设置并行度和资源信息。
填写完信息后点击创建,就完成了一个Deployment的创建。
第三步启动 Deployment。直接点击启动就ok了。
点击启动之后,可以看到右上方有一个“期望的状态”和“当前的状态”,当“期望的状态”和“当前的状态”一致的时候,就表明这个作业已经提交到集群上面正常运行了。
第四步作业运维。在总览页面可以看到作业的状态信息,也可以通过拓扑图看到拓扑信息。
运行事件里可以看到整个作业提交和运行过程中的事件信息。
实例页面可以看到当前作业的状态。
在上图页面右侧有两个“操作”,左侧点进去是开源的 Flink 云原生的web UI,在这里可以进行一些勘察和运维的操作;右侧点进去是告警监控的页面,通过这个页面可以监控和查看当前作业的运行状态和Metric曲线。
还有Savepoint信息和提供的自动配置调优的功能。
以上就是针对Blink独享集群和 Flink 全托管集群的开通、运行和运维的介绍。