Pyspark 错误:py4j.java_gateway:尝试连接到 Java 服务器时发生错误(127.0.0.1:50532)
Posted
技术标签:
【中文标题】Pyspark 错误:py4j.java_gateway:尝试连接到 Java 服务器时发生错误(127.0.0.1:50532)【英文标题】:Pyspark ERROR:py4j.java_gateway:An error occurred while trying to connect to the Java server (127.0.0.1:50532) 【发布时间】:2018-12-23 21:09:58 【问题描述】:您好,我正在使用 Pyspark,第一次使用 ML 包实现情感分析项目,cofde 工作良好,但突然出现上面提到的错误 有人可以帮忙吗这是完整的错误描述
ERROR:py4j.java_gateway:An error occurred while trying to connect to the Java server (127.0.0.1:50532)
Traceback (most recent call last):
File "C:\opt\spark\spark-2.3.0-bin-hadoop2.7\python\lib\py4j-0.10.6-src.zip\py4j\java_gateway.py", line 852, in _get_connection
connection = self.deque.pop()
IndexError: pop from an empty deque
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\opt\spark\spark-2.3.0-bin-hadoop2.7\python\lib\py4j-0.10.6-src.zip\py4j\java_gateway.py", line 990, in start
self.socket.connect((self.address, self.port))
ConnectionRefusedError: [WinError 10061] Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée
【问题讨论】:
尝试从 shell 初始化 SparkContext 时出现此错误。 SparkContext 是在 shell 中自动创建的。 在我的情况下,我在 jupyter notebook 中工作,所以我必须手动初始化 sparkcontext 【参考方案1】:如果您使用的是 Jupyter nootbook,只需重新启动您的笔记本即可。如果没有,那么只需重新启动 pyspark 。那应该可以解决问题。 发生这种情况是因为您使用了太多的收集或其他一些与内存相关的问题。
【讨论】:
【参考方案2】:向 Spark 添加更多资源。例如,如果您在本地模式下工作,则如下配置就足够了:
spark = SparkSession.builder \
.appName('app_name') \
.master('local[*]') \
.config('spark.sql.execution.arrow.pyspark.enabled', True) \
.config('spark.sql.session.timeZone', 'UTC') \
.config('spark.driver.memory','32G') \
.config('spark.ui.showConsoleProgress', True) \
.config('spark.sql.repl.eagerEval.enabled', True) \
.getOrCreate()
【讨论】:
【参考方案3】:我在尝试在 Docker 容器中使用 PySpark 时遇到了这个错误。在我的例子中,错误源于我为 Spark 分配的资源比 Docker 可以访问的更多。
【讨论】:
如果我在生产环境中运行它,如何解决这个问题。像我需要刷新内存并再次重新启动应用程序还是其他什么? 如果您已经能够成功运行应用程序一次,也许重新启动它会有所帮助。就我而言,我只是无法让它运行,甚至一次。最终最终将火花驱动程序的内存减少到可以安全地放入容器中。【参考方案4】:我在使用 colab 时遇到了同样的问题。我终止了当前会话并重新连接。它对我有用!
【讨论】:
【参考方案5】:可能spark UI的端口已经被占用了,可能在这个错误之前还有其他错误。
也许这可以帮助你:https://***.com/questions/32820087/spark-multiple-spark-submit-in-parallel
spark-submit --conf spark.ui.port=5051
【讨论】:
以上是关于Pyspark 错误:py4j.java_gateway:尝试连接到 Java 服务器时发生错误(127.0.0.1:50532)的主要内容,如果未能解决你的问题,请参考以下文章
python + pyspark:在pyspark中进行多列比较的内部连接错误
Pyspark 错误:“未定义函数:'from_timestamp'
带有 AM Container 限制错误的 pyspark 错误