Flink报错问题之Flink报错java.io.EOFException: SSL peer shut down incorrectly如何解决

简介: Flink报错通常是指在使用Apache Flink进行实时数据处理时遇到的错误和异常情况;本合集致力于收集Flink运行中的报错信息和解决策略,以便开发者及时排查和修复问题,优化Flink作业的稳定性。

问题一:Flink报错Can not retract a non-existent record. This should never happen.

Flink报错Can not retract a non-existent record. This should never happen.



参考答案:

通常有以下三种原因,可以按照以下方式进行处理:

问题原因①:由代码中now()导致。因为TopN不支持非确定性的排序字段,now()每次输出的值不同,所以导致Retraction会找不到之前的值。

解决方法:Event Time或源表中一个具有Processing Time属性的字段。

问题原因②: table.exec.state.ttl参数值设置过小。

解决方法:设置过小的TTL参数使用默认配置,或调大参数值。

问题原因③:上游使用CDC Connector,hologres全增量一体源表 并不是一致性的读取,全量数据和增量数据之前是有overlap的,导致处理binlog一开始的 update_before 的时候,会发现该数据在state中不存在。(预计弹内vvr-6.0.2,云上4.0.15修复)

绕过方法:显式配置上table.exec.source.cdc-events-duplicate: true的作业参数,显式增加去重节点保证数据的一致性。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/476346?spm=a2c6h.13066369.question.21.6f064d5cc9KP97



问题二:实时计算Flink报错DateTimeParseException: Text 'xxx' could not be parsed

实时计算Flink报错DateTimeParseException: Text 'xxx' could not be parsed



参考答案:

可参考QA:报错:DateTimeParseException: Text 'xxx' could not be parsed



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/475317?spm=a2c6h.13066369.question.24.6f064d5cJ7C8oF



问题三:实时计算Flink报错java.io.EOFException: SSL peer shut down incorrectly

实时计算Flink报错java.io.EOFException: SSL peer shut down incorrectly



参考答案:

可参考QA:报错:java.io.EOFException: SSL peer shut down incorrectly



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/475319?spm=a2c6h.13066369.question.23.6f064d5c1h1iXx



问题四:实时计算Flink报错The connector is trying to read binlog xxx use a snapshot when needed.

实时计算Flink报错The connector is trying to read binlog xxx use a snapshot when needed.



参考答案:

该报错的原因是作业处理的速度追不上binlog产生的速度,导致正在读的位点被清理了。 目前只能清理状态重启。

● 场景1: rds做了内部迁移操作,flink jar作业使用mysql cdc消费mysql数据。

报错原因:是作业处理的速度追不上mysql binlog 产生的速度,导致正在读的位点被清理了。
排查思路:

先确认rds的地址和binlog文件位点和迁移前是否一致:

(1)rds 地址不会变化

(2)如果节点有变化,binlog文件位点会变化。如果是从远程拉取的oss中的binlog,binlog是固定的。

解决方案:
(1)重新读取:flink cdc不会到oss上拉文件,是直链mysql服务器(无状态重启)。
(2)绕行方案:从只读库拉取数据。 
注意事项:
(1)从库读是支持的,从库延时比主库大点。注意RDS MySQL 5.6不支持,5.7之后的版本都支持,因为RDS MySQL 5.6 只读实例的binlog文件是简化过的,没有数据。
(2)主库风险也还好,flink cdc 只有读的权限,不会加锁和写的权限。如果rds配置了HA,即多主实例,用户同时开启了GTID,然后通过VIP/DNS下挂rds的几个多主实例地址,这样flink cdc /canal 这些同步工具通过访问 VIP/DNS 链接rds时才能实现不中断。

● 场景2:RDS有日志保留策略,最长18个小时,最大占用30%存储空间,两个条件谁先满足都会触发删除,如果写入特别多,超过30%的存储空间,可能binlog日志1小时就删除了。注意:rds页面上还有一个7天的binlog文件保存,这个是rds后台转存到oss上的,flink cdc目前是没有去转存后oss上去读取这些文件的。

● 场景3:volvo通过只读实例消费CDC数据,RDS的只读实例不保证binlog(本地只保留10s,上传oss),所以flink cdc侧不建议连接 RDS 的只读实例。只读实例一旦作业 Failover 10s 内恢复不过来,就会有这个异常只读实例判定,rr开头的就是只读实例rm开头的就是正常的实例。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/475542?spm=a2c6h.13066369.question.26.6f064d5ceYixTj



问题五:实时计算Flink报错org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory

实时计算Flink报错org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory



参考答案:

可参考QA:报错:java.lang.ClassCastException: org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/475322?spm=a2c6h.13066369.question.25.6f064d5cwDPCdl

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
268 2
利用java8 的 CompletableFuture 优化 Flink 程序
|
8月前
|
Java 调度 流计算
基于Java 17 + Spring Boot 3.2 + Flink 1.18的智慧实验室管理系统核心代码
这是一套基于Java 17、Spring Boot 3.2和Flink 1.18开发的智慧实验室管理系统核心代码。系统涵盖多协议设备接入(支持OPC UA、MQTT等12种工业协议)、实时异常检测(Flink流处理引擎实现设备状态监控)、强化学习调度(Q-Learning算法优化资源分配)、三维可视化(JavaFX与WebGL渲染实验室空间)、微服务架构(Spring Cloud构建分布式体系)及数据湖建设(Spark构建实验室数据仓库)。实际应用中,该系统显著提升了设备调度效率(响应时间从46分钟降至9秒)、设备利用率(从41%提升至89%),并大幅减少实验准备时间和维护成本。
425 0
|
11月前
|
SQL Java 数据库连接
【YashanDB知识库】个别数据库用户无法登录数据库,报错 io fail:IO.EOF
【YashanDB知识库】个别数据库用户无法登录数据库,报错 io fail:IO.EOF
|
11月前
|
运维 Cloud Native Java
postman发起post请求遇到报错:java.io.FileNotFoundException (文件名、目录名或卷标语法不正确。)
遇到bug报错,多猜可能的原因,控制变量反复测试,直至找到问题的关键,然后再思考如何解决或者回避。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
关系型数据库 MySQL Linux
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
当MySQL 8.4启动时报错“io_setup() failed with EAGAIN”时,通常是由于系统AIO资源不足所致。通过增加AIO上下文数量、调整MySQL配置、优化系统资源或升级内核版本,可以有效解决这一问题。上述解决方案详细且实用,能够帮助管理员快速定位并处理此类问题,确保数据库系统的正常运行。
479 9
|
存储 网络安全
Curl error (60): SSL peer certificate or SSH remote key was not OK for https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/repodata/repomd.xml [SSL: no alternative certificate subject name matches target host name 'update.cs2c.com.cn']
【10月更文挑战第30天】在尝试从麒麟软件仓库(ks10-adv-os)下载元数据时,遇到 SSL 证书验证问题。错误提示为:`Curl error (60): SSL peer certificate or SSH remote key was not OK`。可能原因包括证书不被信任、证书与域名不匹配或网络问题。解决方法包括检查网络连接、导入 SSL 证书、禁用 SSL 证书验证(不推荐)、联系仓库管理员、检查系统时间和尝试其他镜像。
4266 1
|
消息中间件 资源调度 Java
用Java实现samza转换成flink
【10月更文挑战第20天】
|
Java 网络安全 Maven
Exception in thread "main" java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)Lokhttp3/OkHttpClient$Builder; 问题处理
【10月更文挑战第26天】Exception in thread "main" java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)Lokhttp3/OkHttpClient$Builder; 问题处理
709 2
|
消息中间件 Java Kafka
Flink-08 Flink Java 3分钟上手 滑动窗口 SlidingWindow 时间驱动 事件驱动 TimeWindow CountWindow GlobalWindow
Flink-08 Flink Java 3分钟上手 滑动窗口 SlidingWindow 时间驱动 事件驱动 TimeWindow CountWindow GlobalWindow
281 7

相关产品

  • 实时计算 Flink版