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

Spark环境下Deeplearning4j-UI连接被拒绝(java.net.ConnectException)问题求助

解决DL4J-UI连接被拒绝的问题

你的Connection refused错误核心原因是没启动DL4J的Remote UI服务,另外依赖和配置还有几个潜在问题,下面一步步帮你解决:

1. 先启动DL4J的Remote UI服务

RemoteUIStatsStorageRouter是用来把训练数据发送到已经在运行的DL4J UI服务器的,它不会自动帮你启动服务器。有两种方式启动:

方式一:命令行启动(推荐)

找个和你deeplearning4j-ui-model版本一致的deeplearning4j-ui jar包(你用的是1.0.0-beta7),然后执行:

java -jar deeplearning4j-ui-1.0.0-beta7.jar -port 9000

启动后,你可以先在浏览器访问http://localhost:9000确认服务正常,然后把代码里的URL改成http://localhost:9000(你现在用的是https,默认UI服务是HTTP,协议不匹配也会连不上)。

方式二:代码内嵌启动

如果不想单独开一个进程,也可以在你的Spark应用里直接启动UI服务:

// 启动本地UI服务,端口9000
UIServer uiServer = UIServer.getInstance();
StatsStorage statsStorage = new InMemoryStatsStorage();
uiServer.attach(statsStorage);

// 把statsStorage传给StatsListener,不用再用RemoteUIStatsStorageRouter
StatsListener statsListener = new StatsListener(statsStorage, statsConfig, sessionId);
sparkNetwork.setListeners(statsListener);

这种方式不需要远程连接,数据直接写到本地存储,UI会自动读取展示。

2. 修复依赖版本的冲突问题

你的pom.xml里有几个版本不兼容的地方,这会导致各种运行时问题:

  • 删掉nd4j-x86依赖,它的版本是0.4-rc3.8,和你用的1.0.0-beta7的DL4J/ND4J完全不兼容。
  • 统一Spark的Scala版本:你现在混用了spark-core_2.13、spark-sql_2.11和scala-library_2.11,全部改成2.12版本:
    • spark-core_2.13 → spark-core_2.12,版本保持3.2.1
    • spark-sql_2.11 → spark-sql_2.12,版本改成3.2.1(和Spark Core版本一致)
    • scala-library_2.11.12 → scala-library_2.12.15(和Spark 3.2.1兼容的版本)
  • 老版本的bigdl(0.2.0)和DL4J 1.0.0-beta7不兼容,如果不需要就删掉,或者升级到兼容的新版本。

3. 优化Maven打包配置

你同时用了maven-assembly-plugin和maven-shade-plugin,这两个都会打包依赖,容易冲突。DL4J官方推荐用maven-shade-plugin,因为它能正确合并DL4J需要的reference.conf配置文件和服务接口注册。建议删掉maven-assembly-plugin的配置,只保留maven-shade-plugin。

最后验证

  1. 先启动DL4J UI服务(二选一)
  2. 修复pom依赖后,用mvn clean package重新打包
  3. 提交Spark应用,然后打开http://localhost:9000就能看到训练监控图表了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 00:52:31