python - 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 上运行的服务,我可以看到它们都没有使用这些端口。
请帮我解决一下这个。
解决方案
警告“端口 4040 不可用,尝试 4041”和 forawrd 可能会发生,因为您打开了很多 SparkContext 而没有关闭它们。(SparkContext#close)。
如果需要,您可以通过配置中的参数 spark.ui.port 更改端口。
对于您的第一个问题,您能否提供正在运行的 spark 应用程序的日志?也许您正在运行一个快速程序,可以在您进入之前足够快地关闭 Web ui?
推荐阅读
- python - 我无法在 python 中对 root 进行身份验证
- sql - SQL Query 用不同的数据更新多行
- html - Facebook 它没有从我的 React Web App 上的 Head 读取任何元标记
- excel - 过滤并删除单元格包含 3,115148E+28 的行
- javascript - 从使用 `prop-types` 的 JS React 组件生成类型定义
- xslt - mulesoft 中的 Xpath3 表达式以获取具有特定属性的所有节点名称,以便它们出现
- crystal-reports - 在水晶报表中使用逗号分隔格式化大数字
- pandas - 以优化的方式填充 pandas 数据框
- javascript - 如何在赛普拉斯更新夹具文件
- google-sheets - 如何使用数组公式在 Google 表格中创建周历表?