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

posted on   荣锋亮  阅读(141)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用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的规则存储

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示