首页 > 解决方案 > 火花历史服务器在火花提交期间崩溃,并且在历史服务器活动时火花提交被杀死(独立集群)

问题描述

我正在使用 OpenJDK 1.8.0_41-b04 和 Python 3.8.8(从源代码构建)在 Debian 最新 Docker 映像上运行为 Hadoop 3.2 预构建的 Spark 3.1.1。除 eventLog 选项外,所有 spark 配置选项都是默认设置:

spark.eventLog.enabled            true
spark.eventLog.dir                file:/tmp/spark-events
spark.history.fs.logDirectory     file:/tmp/spark-events

启动 spark 历史服务器时,我可以在本地模式下可靠地运行 pyspark 代码

spark-submit --master local[*] /usr/local/spark-3.1.1/spark-3.1.1-bin-hadoop3.2/examples/src/main/python/pi.py

但是,当我在历史服务器运行时尝试在独立集群上执行时:

spark-submit --master spark://master:7077 /usr/local/spark-3.1.1/spark-3.1.1-bin-hadoop3.2/examples/src/main/python/pi.py

历史服务器进程存在且没有任何消息,并且 spark-submit 命令为“Killed”:

21/04/18 16:38:10 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0) (172.28.0.4, executor 2, partition 0, PROCESS_LOCAL, 4465 bytes) taskResourceAssignments Map()
21/04/18 16:38:10 INFO TaskSetManager: Starting task 1.0 in stage 0.0 (TID 1) (172.28.0.4, executor 2, partition 1, PROCESS_LOCAL, 4465 bytes) taskResourceAssignments Map()
21/04/18 16:38:10 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on 172.28.0.4:39975 (size: 7.8 KiB, free: 366.3 MiB)
Killed

在这样的事件之后,集群执行 spark-submits 将不起作用。但是,再次停止和启动主服务器而不启动任何历史服务器将允许集群再次执行。

我错过了什么 - 为什么历史服务器和 spark 作业会无声地崩溃,我在哪里可以找到有关崩溃的信息?

我需要历史服务器,因为它是目前使用 PyCharm 的唯一集成监控选项。

标签: apache-sparkpysparkpycharm

解决方案


如果分配给 spark master 的系统资源不足,可以观察到上述问题。


推荐阅读