存储在物理机 → Spark /flink跑 YARN 完全没问题,根本不需要强行上云原生。

云原生不是为了 “替换存储”,也不是为了 “让 Spark /flink能跑”,
而是为了管理、效率、成本、弹性而存在的

一、传统大数据模式

1.数据存在:物理机 HDFS
2.资源调度:YARN
3.Spark 任务:提交到 YARN 运行
这套东西:稳定成熟能跑公司用10年都没问题,但它有 4 个痛点,云原生能解决

二、企业真正用云原生的 4 个真实理由(跟存储无关)

1.资源利用率差 → 云原生能省钱

1.YARN 有个大问题:
资源是静态分配、提前占坑
白天任务多 → 资源不够
晚上任务少 → 机器空转浪费

2.K8s 可以:
同一台机器混跑 Spark、Flink、微服务、Python 脚本、定时任务
自动调度、自动挤空间
机器利用率从 20% → 60%+
这才是大厂上云原生的真实动力:省钱。

2.Spark 任务互相干扰、排队、卡死 → 云原生隔离更强

1.YARN 模式下:
一个任务写烂了 OOM
整个队列卡顿
大任务挤小任务
调度不可控

2.K8s 模式:
每个 Spark 任务是独立的 Pod
资源严格隔离
一个挂了不影响别人
可以给不同部门做强隔离、权限控制、配额限制
大公司几十个业务、几百个任务,这是刚需

3.环境地狱:版本冲突、依赖冲突、jar 包地狱

Spark 版本不一样
Scala 版本不兼容
服务器缺少依赖
任务在测试能跑,生产跑不起来
云原生解决的就是这个:把环境、依赖、JAR、配置全部打包在一起。一次打包,到处运行,永不报错。这对运维、开发都是解放

4.弹性扩缩容:云原生真正的杀手锏

1.物理机 / YARN 模式:
流量突增 → 只能干等
大促、报表高峰 → 机器不够用
加机器要几天

2.K8s + 云:
流量来了 自动加节点
流量走了 自动缩节点
分钟级扩容
这才是云原生的核心价值

三、实际架构

数据在物理机 HDFS → Spark/flink 跑在 K8s

架构是这样的:

存储:物理机 HDFS 不动
计算:Spark 任务放在 K8s 里跑
网络打通:K8s 直接访问 HDFS
这叫:存储不动,计算云原生化

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐