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

Spark连接Cassandra报错求助:无活跃SparkEnv无法获取spark协议文件

解决Spark Submit中"Cannot retrieve files with 'spark' scheme without an active SparkEnv"错误

我来帮你分析下这个问题,你遇到的错误其实是命令里多传了一个不必要的参数导致的:你的spark-submit命令最后把spark://localhost:7077作为参数传给了jar包,Spark会把这个参数识别为需要分发的文件路径。但spark://协议需要依赖已经初始化的SparkEnv才能处理,而在提交任务的阶段SparkEnv还未创建,所以就抛出了这个异常。

解决方案

你只需要修改spark-submit命令,移除多余的spark://localhost:7077参数——因为你已经通过--master参数指定了集群地址,不需要再把它重复传给主类。

修改后的命令如下:

C:\Users\user\Desktop\softwares\spark-2.4.3-bin-hadoop2.7\spark-2.4.3-bin-hadoop2.7\bin>spark-submit --class com.github.boneill42.JavaDemo --master spark://localhost:7077 C:\Users\user\git\spark-on-cassandra-quickstart\target/spark-on-cassandra-0.0.1-SNAPSHOT-jar-with-dependencies.jar localhost

补充说明

从你命令里最后的localhost来看,这应该是主类需要的Cassandra地址参数,所以只保留这个参数就足够了。Spark Submit会把jar包后面的参数直接传递给主类的main方法,如果你传的是一个URL格式的字符串,Spark会自动尝试去下载对应的文件,这就触发了错误场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:14:09