You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark 3.4.1独立集群任务提交资源错误排查求助

Spark独立集群读取cal_housing.data任务失败问题排查方案

1. 确认数据集的可访问性

  • 若使用本地文件路径,cal_housing.data必须存放在所有Worker节点的相同绝对路径下,否则Task在Worker节点找不到文件,会卡住导致资源请求无响应,别只在Master节点存放文件。
  • 检查文件权限:在每个Worker节点执行ls -l /实际文件路径/cal_housing.data,确保Spark运行用户(如spark用户)拥有读取权限。

2. 调整任务资源请求参数

简单脚本资源需求低可正常运行,但读取数据集的任务需匹配集群资源配置:

  • 提交任务时显式指定资源参数,示例:
    spark-submit --master spark://你的MasterIP:7077 --executor-cores 2 --executor-memory 8g --total-executor-cores 4 你的脚本.py
    
  • 核对spark-defaults.conf中的默认配置,比如spark.executor.cores不要超过单个Worker的核心数(你单Worker是4核,就别设为5),spark.executor.memory不要超过Worker剩余内存上限。

3. 查看Worker节点的具体报错日志

Master的警告只是表面现象,直接去每个Worker节点的SPARK_HOME/work目录下,找到对应任务的stderr日志,里面会有具体报错信息——比如文件找不到、权限不足、JVM内存溢出等,这才是问题的核心根源。

4. 检查读取代码的正确性

cal_housing.data是无表头的CSV格式,参考正确的读取逻辑:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("CalHousingJob").getOrCreate()
# 本地文件需加file://前缀,HDFS文件则用hdfs://前缀
df = spark.read.csv("file:///实际文件路径/cal_housing.data", sep=",", inferSchema=True, header=False)
df.show()

若使用sc.textFile读取,也要确保路径格式正确,避免因解析错误导致Task崩溃。

5. 验证节点间网络连通性

  • 在Master节点ping所有Worker节点,在Worker节点ping Master节点,确保网络无阻塞。
  • 检查防火墙是否开放Spark默认端口:7077(Master通信端口)、8081(Worker UI端口),避免节点间无法正常通信。

内容的提问来源于stack exchange,提问作者ctappy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 02:32:43