spark grpc 在master运行报错 exitcode13 User did not initialize spark context

程序使用sparksql 以及protobuf grpc ,执行报错

ApplicationMaster: Final app status: FAILED, exitCode: 13, (reason: Uncaught exception: java.lang.IllegalStateException: User did not initialize spark context!

先说原因 :

  • 1.使用了不具备权限的用户,spark运行环境有缺失
  • 2.protobuf 需要使用指定操作系统进行编译 未使用 os.detected.classifier=windows-x86_64 或 linux-x86_64,或者把windows上编译的jar直接拿过来使用导致
  • 3.protobuf的版本不太合适 这个比较坑,得多注意
  • 4.代码中指定了运行模式是local( 这个因为没写local,没遇到 )

解决

  • 1.使用root用户,或者将当前用户加入到sudo 权限范围,之后sudo执行
  • 2.本机 编译的放到linux执行会报错,因此需要在master节点编译 指定os.detected.classifier=linux-x86_64 例如 maven执行的命令
  • mvn clean package -P prod -Dos.detected.classifier=linux-x86_64 -Dmaven.test.skip=true

    1. pom中版本调整
  • protobuf-maven-plugin 0.6.1 降到 0.5.0 同时 io.grpc:protoc-gen-grpc-java:1.54.0 com.google.protobuf:protoc:21.0-rc-1

    升版本 0.5.0升到 0.6.1 同时 io.grpc:protoc-gen-grpc-java:3.21.9 com.google.protobuf:protoc:3.21.9

  • 4.去掉 sparksession指定local的运行设定代码
  • etc: 中间也出现过 编译问题 "protoc CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容",这个的处理就不说了。
相关推荐
小二·1 小时前
国产大模型部署实战:DeepSeek + vLLM本地化推理,API成本降低90%
大数据·人工智能
脱胎换骨-军哥14 小时前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式
EasyDSS14 小时前
企业数字化培训升级!企业级融媒体平台EasyDSS破解跨区域内训难题,高效沉淀知识资产
大数据·媒体
leoZ23115 小时前
Git 集成实战完全指南(四):Git 冲突解决
大数据·git·elasticsearch
xlrqx15 小时前
家电清洗培训课程类别、培训方式及费用情况究竟有哪些
大数据·python
段一凡-华北理工大学15 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
码上上班16 小时前
Elasticsearch课程
大数据·elasticsearch·搜索引擎
码农小白AI16 小时前
工业设备验收迈入智能审核新时代:AI报告审核通审Agent版 IACheck打造检测报告质量管控新引擎
大数据·人工智能
智圣新创0116 小时前
高校共生型学生社区生态圈搭建 核心路径与效能升级高频实操答疑
大数据·人工智能
海棠Flower未眠17 小时前
SpringBoot 整合 Kafka 高性能消息队列(荣耀典藏版)
分布式·kafka