Flink1.8.0执行sql,没有用到kafka怎么会报这个错误呢?有知道的吗?求助一下
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的错误信息和知识库中的相关资料,以下是针对问题的详细解答:
您提到在使用 Flink 1.8.0 执行 SQL 时,尽管没有直接使用 Kafka,却出现了以下错误:
java.io.EOFException: SSL peer shut down incorrectly
该错误通常与 SSL/TLS 握手失败有关,可能是由于网络连接、证书配置或依赖库版本不兼容等问题导致的。即使您的作业未显式使用 Kafka,Flink 的某些组件(如连接器或依赖库)可能隐式地尝试与外部服务建立连接,从而触发此错误。
Flink 的运行环境可能加载了与 Kafka 相关的依赖库,即使您的 SQL 作业未显式使用 Kafka。例如: - 如果您的作业中引用了某些自定义连接器或第三方库,这些库可能默认启用了 Kafka 支持。 - 某些版本的 Flink 自带的 Kafka 连接器可能会在初始化时尝试与 Kafka 集群建立连接。
解决方法: - 检查您的 pom.xml
或依赖配置文件,确认是否包含 Kafka 相关依赖。如果不需要 Kafka,可以移除相关依赖。 - 如果使用的是阿里云实时计算 Flink 版,请确保使用的引擎版本与依赖库版本兼容。
错误信息表明 SSL 握手失败,可能是由于以下原因: - 外部服务(如 MySQL、Kafka 等)启用了 SSL,但客户端未正确配置证书或密钥。 - 客户端与服务端之间的 SSL 协议版本不匹配。
解决方法: - 如果您的作业涉及 MySQL 数据库连接,请检查 MySQL 的 SSL 配置。例如,确保 properties.useSSL
参数设置为 false
,以禁用 SSL 连接。 - 如果确实需要启用 SSL,请确保客户端和服务端的证书配置一致,并验证证书链是否完整。
从知识库中得知,Flink 实时计算引擎 VVR 8.0 及以上版本默认启用了动态分区检测功能。如果您的作业中使用了 Kafka 表,即使未显式声明,也可能触发该功能并尝试连接 Kafka 集群。
解决方法: - 在 SQL 作业中显式关闭动态分区检测功能。例如,添加以下参数:
'scan.check.duplicated.group.id' = 'false'
错误可能由网络中断或服务端异常导致。例如: - Kafka 或其他外部服务未正确启动。 - 网络防火墙或代理阻止了客户端与服务端的通信。
解决方法: - 检查外部服务(如 Kafka、MySQL 等)是否正常运行。 - 确保客户端能够访问服务端的地址和端口。
如果您使用的是 Maven 项目,请检查 pom.xml
文件,移除不必要的 Kafka 依赖。例如:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka_2.11</artifactId>
<version>1.8.0</version>
</dependency>
如果不需要 Kafka,可以直接删除上述依赖。
在 SQL 作业中,显式关闭动态分区检测功能,并确保未引用 Kafka 表。例如:
CREATE TEMPORARY TABLE my_table (
...
) WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://rm-**********.mysql.rds.aliyuncs.com:3306/test_db',
'table-name' = 'my_table',
'driver' = 'com.mysql.jdbc.Driver',
'username' = 'flinK*****',
'password' = 'Test****',
'properties.useSSL' = 'false'
);
Flink 1.8.0 是一个较旧的版本,可能存在已知的兼容性问题。建议升级到更高版本(如 Flink 1.17 或更高),并确保使用阿里云实时计算 Flink 版的推荐配置。
如果问题出现在本地调试环境中,请参考知识库中的本地调试方案。例如: - 修改 pom.xml
文件,将 flink.version
设置为与阿里云实时计算 Flink 版兼容的版本。 - 删除不必要的依赖项,如 flink-connector-base
。
通过上述分析和解决方案,您可以逐步排查并解决 java.io.EOFException: SSL peer shut down incorrectly
错误。重点在于: 1. 检查依赖配置,移除不必要的 Kafka 依赖。 2. 调整 SQL 配置,显式关闭动态分区检测功能。 3. 确保 SSL/TLS 配置正确,或禁用 SSL 连接。 4. 升级 Flink 版本以避免兼容性问题。
如果问题仍未解决,请提供更多上下文信息(如完整的错误日志或作业配置),以便进一步分析。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。