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

Spark集群实例翻倍及版本异常问题排查求助

Spark集群升级后旧版本残留问题排查与解决

1. 检查并清理残留进程

  • 执行ps -ef | grep spark,查看所有与Spark相关的进程,重点定位包含spark-3.4.1路径的进程
  • 对旧版本进程执行kill -9 <进程PID>强制终止;也可尝试用旧版本停止脚本批量终止:/path/to/old-spark/sbin/stop-all.sh
  • 检查systemd托管的Spark服务:systemctl list-unit-files | grep spark,若存在旧版本服务配置,执行systemctl disable spark-xxx并删除对应服务文件(通常在/etc/systemd/system/目录下)

2. 彻底清理旧版本文件与缓存

  • 查找磁盘上所有旧版本Spark目录:find / -name "spark-3.4.1" -type d 2>/dev/null,找到后执行rm -rf <找到的目录路径>删除
  • 清理用户缓存中的Spark依赖:rm -rf ~/.ivy2/cache/org.apache.spark、rm -rf ~/.m2/repository/org/apache/spark
  • 删除Spark临时文件:rm -rf /tmp/spark-*

3. 修正环境变量配置

  • 检查全局环境配置文件(/etc/profile、/etc/bashrc)和用户级配置文件(~/.bashrc、~/.bash_profile),删除所有指向旧版本Spark的SPARK_HOME、PATH配置
  • 添加新版本环境变量:
    export SPARK_HOME=/opt/spark-3.5.0  # 替换为你的新版本Spark安装路径
    export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
    
  • 执行source /etc/profile和source ~/.bashrc使配置生效,验证:
    • echo $SPARK_HOME:输出应为新版本路径
    • spark-submit --version:输出版本应为3.5.0

4. 清理Master节点元数据

Spark Master会缓存集群节点信息,需清理旧元数据:

  • 停止Master服务后,删除Master工作目录:rm -rf $SPARK_HOME/work/*
  • 检查并删除临时元数据目录:rm -rf /tmp/spark-master-*

5. 重启集群并验证

  • 使用新版本脚本启动集群:$SPARK_HOME/sbin/start-all.sh
  • 访问Master UI(默认8080端口),确认:
    • 可用Worker/Executor实例数恢复为3个
    • UI顶部显示的Spark版本为3.5.0
  • 在任意节点启动spark-shell --master spark://<Master节点IP>:7077,查看Shell启动日志中的版本信息,提交简单任务(如sc.parallelize(1 to 10).count())验证集群正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:42:47