更新时间:2022-11-09 GMT+08:00
Flink作业推荐配置指导
用户在创建Flink作业时,可以通过如下配置实现流应用的高可靠性能。
- 用户在消息通知服务(SMN)中提前创建一个“主题”,并将其指定的邮箱或者手机号添加至主题订阅中。此时指定的邮箱或者手机会收到请求订阅的通知,单击链接确认订阅即可。
图1 创建主题
图2 添加订阅
- 登录DLI控制台,创建Flink SQL作业,编写作业SQL后,配置“运行参数”。
Flink Jar作业可靠性配置与SQL作业相同,不再另行说明。
- 根据如下公式,配置作业的“CU数量”、“管理单元”与“最大并行数”:
CU数量 = 管理单元 + (算子总并行数 / 单TM Slot数) * 单TM所占CU数
例如:CU数量为9CU,管理单元为1CU,最大并行数为16,则计算单元为8CU。
如果不手动配置TaskManager资源,则单TM所占CU数默认为1,单TM slot数显示值为0,但实际上,单TM slot数值依据上述公式计算结果为2。
如果手动配置TaskManager资源,请依据上述公式计算配置,建议作业最大并行数为计算单元2倍为宜。
- 勾选“保存作业日志”,选择一个OBS桶。如果该桶未授权,需要单击“立即授权”进行授权。配置该参数,可以在作业异常失败后,将作业日志保存到用户的OBS桶下,方便用户定位故障原因。
图3 保存作业日志
- 勾选“作业异常告警”,选择1中创建的“SMN主题”。配置该参数,可以在作业异常情况下,向用户指定邮箱或者手机发送消息通知,方便客户及时感知异常。
图4 作业异常告警
- 勾选“开启Checkpoint”,依据自身业务情况调整Checkpoint间隔和模式。Flink Checkpoint机制可以保证Flink任务突然失败时,能够从最近的Checkpoint进行状态恢复重启。
图5 checkpoint参数
- “Checkpoint间隔”为两次触发Checkpoint的间隔,执行Checkpoint机制会影响实时计算性能,配置间隔时间需权衡对业务的性能影响及恢复时长,最好大于Checkpoint的完成时间,建议设置为5分钟。
- Exactly Once模式保证每条数据只被消费一次,At Least Once模式每条数据至少被消费一次,请依据业务情况选择。
- 勾选“异常自动恢复”和“从Checkpoint恢复”,根据自身业务情况选择重试次数。
- 配置“脏数据策略”,依据自身的业务逻辑和数据特征选择忽略、抛出异常或者保存脏数据。
- 选择“运行队列”。提交并运行作业。
- 根据如下公式,配置作业的“CU数量”、“管理单元”与“最大并行数”:
- 登录云监控服务CES控制台,在“云服务监控”列表中找到“数据湖探索”服务。在Flink作业中找到目标作业,单击“创建告警规则”。
图6 云服务监控
图7 创建告警规则
DLI 为Flink作业提供了丰富的监控指标,用户可以依据自身需求使用不同的监控指标定义告警规则,实现更细粒度的作业监控。
监控指标说明请参考《数据湖探索用户指南》>《数据湖探索监控指标说明》。
父主题: 性能调优