首页 > 解决方案 > pyspark 绑定问题无法生成 SPARK UI

问题描述

在本地模式下运行时,我遇到了 pyspark 的问题。棘手的是当我打开 cmd 并运行 pyspark 时,它会创建一个会话,然后如果我打开 localhost:4040 我可以看到 UI。但是,如果我从 pycharm 运行某些程序,我将无法访问 UI (localhost:4040),也不会生成 URL。

在其他情况下,当我让 pyspark shell 与 pycharm 程序并行打开并且如果我在 pycharm 中运行相同的程序时,我会收到一个警告,说不能绑定端口 4040 所以尝试 4041。这有点可以理解,因为 shell 占用了端口 4040所以它正在尝试 4041。所以,理想情况下应该分配 4041,但事实并非如此。正如文档所说,它尝试了 16 次,以获取下一个可用的空闲端口号,但我没有被分配任何端口号。因此,如果我看到当前在我的 PC 上运行的服务,我可以看到它们都没有使用这些端口。

请帮我解决一下这个。

标签: pythonscalaapache-sparkpyspark

解决方案


警告“端口 4040 不可用,尝试 4041”和 forawrd 可能会发生,因为您打开了很多 SparkContext 而没有关闭它们。(SparkContext#close)。

如果需要,您可以通过配置中的参数 spark.ui.port 更改端口。

对于您的第一个问题,您能否提供正在运行的 spark 应用程序的日志?也许您正在运行一个快速程序,可以在您进入之前足够快地关闭 Web ui?


推荐阅读