You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark 3.5.0兼容的akka-actor-typed版本及类找不到错误排查

Spark部署报错java.lang.NoClassDefFoundError: akka/actor/typed/ActorRef问题分析

错误原因

  • 这个报错核心是运行时JVM找不到指定的Akka类,大概率是依赖冲突导致的:Spark集群本身内置了Akka依赖,如果你自己的项目引入了和Spark内置版本不一致的Akka(比如你用的2.8.5),就会触发类加载冲突,导致找不到目标类。

是否是版本不兼容

  • 是的,Spark 3.5.0内置的Akka版本是2.6.20,你引入的2.8.5属于跨大版本更新,Akka 2.6到2.8的typed actor模块有不少API和内部结构改动,类路径、实现逻辑都有变化,直接混用必然出现类找不到的问题。

Spark 3.5.0适配的akka-actor-typed版本

  • 必须和Spark内置版本严格对齐,也就是2.6.20。如果你的项目需要用到Akka typed功能,一定要确保依赖版本和Spark内置的一致,才能避免冲突。

解决建议

  • 在项目构建文件(Maven pom.xml或Gradle build.gradle)中,将akka-actor-typed的版本指定为2.6.20,同时把Spark相关依赖以及Akka依赖设置为provided scope(因为Spark集群已经包含这些依赖,无需打包到你的application.jar中)。
  • Maven示例:
<dependency>
    <groupId>com.typesafe.akka</groupId>
    <artifactId>akka-actor-typed_2.12</artifactId>
    <version>2.6.20</version>
    <scope>provided</scope>
</dependency>
  • 不建议强制覆盖Spark的Akka版本,这种操作可能引发更多兼容性问题,比如集群通信异常等。

内容的提问来源于stack exchange,提问作者Manuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:43:13