Databricks connect test报错「系统找不到指定路径」并无限挂起如何排查?
Databricks Connect 测试报错诊断步骤
- 排查脚本路径解析问题
- 先定位databricks-connect自带的spark-submit.cmd路径,对应你的环境路径为
C:\Users\brend\miniconda3\envs\try-databricks-7.3\lib\site-packages\pyspark\bin\spark-submit.cmd,直接在cmd窗口手动执行该完整路径,确认是否复现「系统找不到指定路径」的报错。 - 右键编辑spark-submit.cmd和同目录下的spark-submit2.cmd,检查脚本内是否有硬编码的不存在路径,将脚本内引用的Python、Java可执行文件路径替换为你本地的实际路径:Python路径用当前conda环境的
python.exe完整路径,Java路径用本地JDK8的bin目录完整路径。
- 先定位databricks-connect自带的spark-submit.cmd路径,对应你的环境路径为
- 排查环境变量冲突
- 彻底删除系统和用户环境变量中的
SPARK_HOME项,哪怕你没有安装本地Spark,残留的该变量也会导致路径解析错误,修改完成后重启cmd窗口再测试。 - 调整
PATH变量优先级,将当前conda环境的三个路径提到最顶部:C:\Users\brend\miniconda3\envs\try-databricks-7.3、C:\Users\brend\miniconda3\envs\try-databricks-7.3\Scripts、C:\Users\brend\miniconda3\envs\try-databricks-7.3\bin,避免调用到其他环境的程序。
- 彻底删除系统和用户环境变量中的
- 开启调试日志定位卡点
- 执行测试命令前,先在cmd窗口运行
set SPARK_PRINT_LAUNCH_COMMAND=1,再执行databricks-connect test,命令会打印完整的调用链路,可直接看到触发路径报错的具体命令参数。 - 也可以直接在spark-submit.cmd的每一行执行命令前加
echo打印语句,运行时即可定位到具体触发报错的脚本行。
- 执行测试命令前,先在cmd窗口运行
- 排查配置与系统兼容问题
- 确认安装的databricks-connect版本和Azure Databricks集群版本完全匹配:9.1版本的客户端必须连接9.1版本的集群,7.3版本客户端必须连接7.3版本的集群,版本不匹配会导致连接无限挂起。
- 重新运行
databricks-connect configure核对所有配置项:工作区地址、访问令牌、集群ID、组织ID,任意配置错误都会导致连接请求无响应挂起。 - 用管理员权限启动cmd窗口再执行测试命令,避免权限不足导致的文件访问异常。
内容的提问来源于stack exchange,提问作者Brendan Hill
相关产品推荐
相关产品推荐

