Databricks Connect 13.3.3执行test报错:spark-shell未找到
Databricks Connect 13.3.3: spark-shell not found 问题解决方案
1. spark-shell 默认位置与安装说明
Databricks Connect 13.x 版本开始,不再自动附带 Spark Scala 客户端工具(包括 spark-shell),这是和 11.x 版本的核心差异——11.x 会在安装时集成完整的 Spark 客户端,而 13.x 仅提供 Python 端依赖,Scala 工具需要手动安装匹配版本的 Spark。
默认 bin 目录
如果你通过官方 Spark 包手动安装,spark-shell 位于 $SPARK_HOME/bin/ 路径下,其中 SPARK_HOME 是你解压 Spark 包的根目录。例如:
# 假设 Spark 解压到 /opt/spark-3.4.1 /opt/spark-3.4.1/bin/spark-shell
安装步骤
必须安装与 Databricks 13.3 Runtime 兼容的 Spark 版本(Spark 3.4.1):
- 下载对应预编译包(推荐带 Hadoop 依赖的版本,如
spark-3.4.1-bin-hadoop3.tgz) - 解压到本地目录:
tar -xzf spark-3.4.1-bin-hadoop3.tgz -C /opt/ - 配置环境变量(永久生效可写入
~/.bashrc或~/.zshrc):export SPARK_HOME=/opt/spark-3.4.1 export PATH=$SPARK_HOME/bin:$PATH - 验证安装:运行
spark-shell --version,确认版本为 3.4.1
2. 默认端口 15001 变更情况
Databricks Connect 13.x 的默认端口仍为 15001,没有官方变更。若连接异常,可检查集群的 Databricks Runtime 版本是否为 13.3,以及集群端的 Connect 配置是否被自定义修改(默认保持 15001)。
3. 针对你的场景的修复步骤
- 确认集群的 Databricks Runtime 版本为 13.3,对应 Spark 3.4.1,避免版本不匹配
- 按照上述步骤安装 Spark 3.4.1 并配置环境变量
- 重新执行配置命令(确保 Scala 工具路径被正确识别):
databricks-connect configure - 再次运行测试命令:
databricks-connect test
注:你的环境中 PySpark 能正常工作,是因为 13.x 版本的 Python 端无需本地 Spark 客户端,直接通过 REST API 连接集群;但 Scala 测试依赖本地 spark-shell,因此必须手动安装匹配版本的 Spark。
内容的提问来源于stack exchange,提问作者user3579222
相关产品推荐
相关产品推荐

