Flink本地运行正常,提交JAR包到YARN集群运行报错:Provider for class javax.x
在使用Apache Flink进行分布式计算时,通常会将应用程序打包成JAR包并提交到YARN集群上进行运行。然而,有时候在将应用程序从本地环境迁移到YARN集群时,可能会遇到一些报错。本文将探讨一种常见的报错情况:Provider for class javax.x,并提供解决方案。
报错信息
当将应用程序的JAR包提交到YARN集群时,可能会出现以下报错信息:
Provider for class javax.x not a subtype
这种报错通常与依赖冲突有关,具体来说,可能是因为Flink运行时环境与应用程序中的某些依赖库版本不兼容。
解决方案
要解决这个问题,可以采取以下步骤:
1. 检查依赖冲突
首先,我们需要检查应用程序的依赖库是否存在冲突。可以使用Maven或Gradle等构建工具来管理依赖关系。确保所有的依赖库都具有正确的版本,并且彼此之间兼容。
2. 排除冲突的依赖
如果发现依赖冲突,可以通过在应用程序的构建配置文件中排除冲突的依赖来解决问题。具体来说,可以使用Maven的<exclusions>标签或Gradle的exclude方法来排除特定依赖的传递性依赖。
以下是一个使用Maven排除冲突依
当Flink应用从本地迁移到YARN集群运行时,可能出现'Provider for class javax.x'报错,这通常由依赖冲突或Flink版本不兼容引起。解决方案包括检查依赖冲突,排除冲突的依赖,确保Flink版本与集群兼容,清理并重建应用,以及使用阿里云镜像源加速依赖下载。
订阅专栏 解锁全文
967

被折叠的 条评论
为什么被折叠?



