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

如何正确安装Zeppelin并加载PySpark?执行代码遇类找不到错误求助

解决Zeppelin加载PySpark时的ClassNotFoundException问题

你遇到的这个错误核心原因是Zeppelin与Spark版本不兼容。Zeppelin 0.7.3是一个较早的版本,官方支持的Spark版本上限为2.1.x,而你使用的Spark 2.3.0在API结构上有变化,导致Zeppelin找不到org.apache.spark.ui.jobs.JobProgressListener这个类。

下面是两种可行的解决方案,按推荐优先级排序:

方案一:升级Zeppelin到兼容Spark 2.3.0的版本

这是最直接且稳定的解决方式,Zeppelin 0.8.0及以上版本开始支持Spark 2.3.x系列。具体步骤如下:

  1. 下载Zeppelin 0.8.2稳定版的二进制包,然后解压:
tar xvf zeppelin-0.8.2-bin-all.tgz
  1. 确认环境变量配置(如果之前的配置已经正确,可跳过此步):
vi ~/.bashrc

添加或修改配置:

export SPARK_HOME="/home/miguel/spark-2.3.0-bin-hadoop2.7/"

执行以下命令生效配置:

source ~/.bashrc
  1. 启动Zeppelin服务:
cd zeppelin-0.8.2-bin-all
bin/zeppelin-daemon.sh start
  1. 测试PySpark代码:
    在Zeppelin notebook中新建note,输入以下代码并运行:
print("Hello")

方案二:降级Spark到Zeppelin 0.7.3支持的版本

如果你不想升级Zeppelin,可以将Spark降级到2.1.x版本(比如2.1.3,适配hadoop2.7),具体步骤如下:

  1. 下载Spark 2.1.3适配hadoop2.7的二进制包,然后解压:
tar xvf spark-2.1.3-bin-hadoop2.7.tgz
  1. 修改环境变量中的SPARK_HOME路径:
vi ~/.bashrc

更新为:

export SPARK_HOME="/home/miguel/spark-2.1.3-bin-hadoop2.7/"

生效配置:

source ~/.bashrc
  1. 重启Zeppelin服务后,再次测试PySpark代码即可。

额外排查要点

如果按上述步骤操作后仍有问题,可以检查以下内容:

  • 确认Java版本为8:Spark 2.3.0和Zeppelin 0.8.x都依赖Java 8环境,运行java -version确认输出为1.8.x。
  • 手动配置Zeppelin的Spark interpreter:
    1. 打开Zeppelin UI(默认地址http://localhost:8080)
    2. 点击右上角的Interpreter按钮
    3. 找到spark interpreter并点击编辑
    4. 在Properties列表中确认spark.home的值与你的SPARK_HOME路径一致,保存后重启interpreter。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:17:04