spark on k8s 开发部署简单实践
实际上就是一个简单的实践,方便参考,对于开发以及运行,集成ci/cd 以及dophinscheduler 任务调度
为了方便开发的spark 应用共享以及使用基于s3 进行文件存储(当然dophinscheduler 也是支持自己的资源库的)
参考图
玩法说明
基于gitlab 进行代码管理,通过ci/cd 进行spark app 的构建,同时会copy 到s3 存储中,对于spark_submit 会基于s3 进行app 的加载
然后基于k8s 模式进行调度,对于需要的结果数据可以存储到s3 或者db中
spark app 开发
对于spark app 开发,实际上核心还是对于以来管理的处理解决方法比较多
- all in one spark
直接打包到spark 应用中,可能需要频繁修改spark - app 使用fat jar
在打包的时候包含以来到jar 中,比较方便,但是可能会造成jar 太大 - 通过pacakges 坐标模式(运行时自动下载依赖)
- in spark + fat jar 混合模式
将部分常用,同时比较重要的放到spark 中,fat jar 只存储应用自己需要的领域特定的
说明
以上是一个简单的业务实际,可以参考,基于ci/cd 可以简化提升我们基于spark 开发的灵活性以及稳定性
参考资料
https://spark.apache.org/docs/latest/running-on-kubernetes.html
https://dolphinscheduler.apache.org/zh-cn
https://maven.apache.org/plugins/maven-assembly-plugin/
https://github.com/sbt/sbt-assembly
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-08-21 nginx ngx_http_degradation_module 模块
2022-08-21 基于iap 的安全控制
2022-08-21 openlitespeed LiteSpeed 的开源版
2022-08-21 一些不错的web 性能测试工具
2021-08-21 easy-rules-centraldogma-spring-boot-starter 使用说明
2021-08-21 wagon maven 通用的artifact 以及repository 模块
2021-08-21 使用centraldogma 作为easy-rules spring boot starter的规则存储