【发布时间】:2021-04-21 21:20:54
【问题描述】:
我正在使用 OpenJDK 1.8.0_41-b04 和 Python 3.8.8(从源代码构建)的 Debian 最新 Docker 映像上运行为 Hadoop 3.2 预构建的 Spark 3.1.1。所有 spark 配置选项都是默认设置,除了 eventLog 选项:
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-spark pyspark pycharm