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

Zeppelin+Spark+Cassandra环境配置问题:Spark无法正常工作

解决Zeppelin Spark解释器配置失败及Spark-Cassandra Connector配置问题

一、修复Spark解释器路径错误

方案1:让Zeppelin使用本地安装的Spark 3.0.1

由于你通过Docker启动Zeppelin,容器默认无法直接访问Windows本地文件路径,需先挂载本地Spark目录:

  • 启动Zeppelin容器时添加挂载参数(替换C:/实际路径/to/spark-3.0.1-bin-hadoop2.7为你本地Spark的真实安装路径,选择与Spark 3.0.1兼容的Zeppelin版本,比如0.10.1):
    docker run -d -p 8080:8080 -v C:/实际路径/to/spark-3.0.1-bin-hadoop2.7:/opt/spark apache/zeppelin:0.10.1
    
  • 进入Zeppelin Web界面的Spark解释器配置页:
    1. 打开http://localhost:8080,点击右上角Interpreter
    2. 找到spark解释器并点击Edit
    3. 修改核心配置项:
      • SPARK_HOME:设为容器内挂载路径/opt/spark
      • spark.submit.cmd:设为/opt/spark/bin/spark-submit
      • spark.master:若用本地Spark,设为local[*]即可
  • 保存配置后重启Spark解释器,此时应能正常检测到Scala版本(Spark 3.0.1对应Scala 2.12.x)

方案2:使用Zeppelin容器自带的Spark

如果不想挂载本地Spark,可直接适配容器内的Spark版本:

  • 进入Zeppelin容器:
    docker exec -it <zeppelin-container-id> /bin/bash
    
  • 查看容器内Spark路径及版本:ls /opt/spark,确认是否为3.3.1
  • 回到Spark解释器配置页,修正SPARK_HOME为/opt/spark,spark.submit.cmd为/opt/spark/bin/spark-submit
  • 若容器内Spark版本与本地Cassandra兼容,即可直接使用;不兼容则优先选择方案1

二、配置Spark-Cassandra Connector

1. 确定兼容版本

Spark 3.0.1对应Spark-Cassandra Connector版本为3.0.0(Connector主版本需与Spark主版本一致,Scala版本匹配2.12)

2. 添加Connector依赖

进入Spark解释器的Edit页面,找到dependencies配置项,添加Maven坐标:

com.datastax.spark:spark-cassandra-connector_2.12:3.0.0

可选添加Cassandra Driver依赖避免连接异常:

com.datastax.oss:java-driver-core:4.10.0

3. 添加Cassandra连接配置

在Spark解释器的spark.conf或spark.driver.extraJavaOptions中添加以下配置:

  • spark.cassandra.connection.host:Cassandra节点IP(本地Cassandra可设为host.docker.internal,让Docker容器访问本地服务)
  • spark.cassandra.connection.port:默认9042(修改过端口则对应调整)
  • 若Cassandra开启认证,额外添加spark.cassandra.auth.username和spark.cassandra.auth.password

4. 测试连接

创建Zeppelin Notebook,运行测试代码验证:

import org.apache.spark.sql.cassandra._

// 读取Cassandra表数据
val df = spark.read
  .format("org.apache.spark.sql.cassandra")
  .options(Map("table" -> "你的表名", "keyspace" -> "你的keyspace"))
  .load()

df.show()

能正常输出表数据则说明配置成功。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:40:19