Flink 实践教程-进阶(7):基础运维

流计算 Oceanus 简介

流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。

本文首先介绍了几种最常见、最基础的错误,用户在使用的时候可以尽量规避的问题。接下来介绍了流计算 Oceanus 平台的监控系统,可以帮助用户实时了解作业各个层级的明细及运行状态。然后借助于日志系统帮助诊断作业出现的错误及原因。

操作视频

基本错误

缺少 DML 语句

一个完整的 Oceanus SQL 作业(JAR 作业里使用 SQL 语句)主要包含以下几个模块:Source(DDL)、Sink(DDL)和 INSERT(DML)语句。在实际应用中经常碰见客户在创建完 Source 和 Sink 后不写 INSERT 语句,导致在【语法检查】时报如下错误。

语法检查失败:java.lang.IllegalStateException: No operators defined in streaming topology. Cannot generate StreamGraph.

数据类型映射

数据类型映射错误也是一个比较常见的错误。流计算 Oceanus 官网也对各种数据库字段类型与 Flink 字段类型的对应关系做了陈列,具体可参考 开发指南概述 [1] 里面的【上下游开发指南】,本文就不再重复。

连接超时/失败

上下游地址、库表是每个 DDL 语句的配置参数必填项。在【语法检查】时,平台并不会检查 DDL 配置参数的正确性,这些检查通常在程序运行时检查。下列关键字代表外部系统访问(例如 MySQL、Kafka 等)可能因为网络原因出现了超时。结果中可能会有很多配置相关的内容,请自行甄别是否是报错。

  • Kafka 的 Timeout expired while fetching topic metadata 表示初始化超时;
  • MySQL 的 Communications link failure 表示连接中断(可能是很长时间没有数据流入,造成客户端超时)。

下面例子为 Kafka 作为 Source,MySQL 作为 Sink 的一个连接错误日志演示:

// example: kafka source 内网地址填写错误导致报错
org.apache.flink.runtime.JobException: Recovery is suppressed by FixedDelayRestartBackoffTimeStrategy(maxNumberRestartAttempts=15, backoffTimeMS=10000)  
Caused by: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
// example: kafka topic 不存在报错
java.lang.RuntimeException: Could not fetch partitions for 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值